JustOn Billing & Invoice Management
This page summarizes the main JustOn objects and outlines their basic interactions. For further explanatory documentation, see
|Billing||Invoice Generation||Accounts Receivable||Reporting|
|Set up subscriptions
including items and their pricing
Set up usage data billing
Billing arbitrary objects
|Execute invoice runs
to produce invoices
Register payment entries
Create account statements
|Manage metric objects
Configure business reports
In order to cover these topics, JustOn Billing & Invoice Management complements the standard Salesforce objects account, opportunity and product with a number of new business objects, along with the according UI elements. These additions allow you to easily manage the invoicing data and processes.
Schematic overview of JustOn's main concepts
Generally, your business model and the nature of your products determine how to set up JustOn's billing engine:
- 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 or opportunities.
See the subscription as a "blueprint" for the future invoice: It combines the account information (buyer name, address, etc.) with the details of the products to be charged, like product name and description, price, price model, applicable discounts, etc. In this sense, subscriptions represent contracts or "billing plans".
When setting up a subscription, you can leverage all data that is already available in your Salesforce organization.
A subscription is the main "trigger" for an account to be considered in an invoice run - that is, each account for which you want invoices being created automatically is to be assigned a subscription.
You can create subscriptions manually or have them built automatically.
Subscriptions include items. They represent the products to be charged and will figure as invoice line items on the created invoices.
Depending on the nature of the product, you can define a specific price model or billing type for an item.
- Recurring: The item is billed with the given amount in each invoice run.
- One-Time: The item is billed only once. After the item has been billed for the first time, JustOn sets its status to
Inactiveso it will not be included in subsequent invoices.
- Transactional: There is no quantity defined for the item. Instead, the information (quantity or quantity + price) is provided by usage data that match the subscription item.
- Recurring Prorated: The item is billed with the given amount in each invoice run, with support for the partial calculation of billing units. Must be enabled specifically, see Enabling Partial Billing Units.
The actual price of an item can be of two types.
- Flat: With a flat price, the item's quantity is assumed as
1and the item's subtotal equals the configured flat price.
- Default: When specifying a default price, the item's subtotal is determined by the specified default price multiplied by the actual item quantity.
In addition, you can set price tiers. These are a means to specify multiple prices for an item, each being valid for a defined quantity range.
Usage data represent product consumptions (volume and traffic data, service coverage, etc.) that are to be invoiced. To this end, usage data include the following information:
- the date and time the consumption took place,
- the quantity for the consumption, like a number of worked hours, or a number of consumed units, etc.,
- an identifier, which is used to assign the usage data to a subscription item.
JustOn retrieves raw usage data (for example, via data import or a third-party integration) and converts it to transactions. During the invoice run, JustOn matches the transactions against the defined subscription item, evaluates the provided quantity information and calculates the item's subtotal. This data then makes up the according invoice line item.
Billing Arbitrary Objects or Opportunities
You can create invoices from arbitrary objects or opportunities that are configured accordingly, "bypassing" the subscription.
To this end, JustOn allows for configuring virtually any Salesforce object to hold the required invoicing data. This may include orders, contracts, opportunities or custom objects. Using custom filters, you then define which objects and records to include in the invoice run.
The invoice run is the core concept of JustOn Billing & Invoice Management. It is the operation that creates invoices based on
- customer and contract data as stored in the subscription,
- product and price information stored in subscription items,
- usage data available via transactions,
- product data as stored in an arbitrary object, if set up accordingly,
- customer and product data as stored in an opportunity, if set up accordingly.
An invoice run is performed at the end of the billing periods as defined by you.
Depending on your business requirements and your system environment, JustOn can handle taxes in various ways:
- Internally calculating taxes based on given tax rates or on tax rates as determined by tax rules,
- Passing through precalculated tax data as taken from an external system, like a shop,
- Integrating an external tax provider.
Invoices are the statements that document your payment requests against your customers.
According to the business needs, invoices have different statuses.
- Draft: New invoices have the status
Draft. You can check draft invoices for correctness and edit them as necessary.
- Open: If you approve of a draft invoice, you Finalize it. This sets the status to
Open, making the invoice effective, that is, due for payment (and unalterable).
- Paid: With incoming payments that make up for the due amounts, open invoices become
Usual lifecycle of an invoice in JustOn
Credits, put simply, are invoices with a negative amount - statements about money you have to pay to someone else. Think of a marketplace scenario: You sell products that are delivered by a participating organization. You receive the customer's money, but you have to pay out the fulfiller. Other examples for credits include refunds or overpayments.
As invoices do, credits have different statuses according to the business requirements.
- Draft: Like usual invoices, new credits have the status
- Settled: Once the corresponding payments are refunded or you have generated a new invoice that outweighs the credit amount for the account, the credit is set
To issue a credit, you create a new invoice with a negative payment amount. There are two ways to do so:
- Manually creating a new invoice that contains invoice line items that yield a negative invoice balance, or
- Creating a credit for an existing invoice (in the status
Paid) you want to reverse - this option lets you select the corresponding items and payments to be done.
The invoice template is the model based on which the PDF copy of an invoice is rendered. It defines its contents and layout. The produced PDF document is intended to be distributed via email or postal service to customers, and it can be exported and archived. JustOn provides a default template, based on which you can define your own templates.
The template is composed of a number of pre-defined containers that represent specific areas of the page - the header, footer, the invoice line item table, etc. Each container comprises text blocks that define the actual content displayed in the final document. For example, the header container contains text blocks for including addresses for sender and recipient, a company logo, and other invoice details.
Text blocks can include placeholders. These are symbols for fields of Salesforce or JustOn objects (like address fields or payment data), which are to be replaced with actual values upon PDF rendering.
When setting up a subscription, you must specify a standard template for that subscription. This template is then assigned by default to all invoices created from that subscription. As long as an invoice has the status
Draft, you can assign another template.
Invoices, credits, payments, refunds, dunning fees etc. create balance records. Consequently, balances show debits and credits for each account.
JustOn adds up the balance records for invoices and for accounts, thus creating invoice balances and account balances.
- The account balance is the sum of all balances for a particular account. A positive amount is considered a debit, and a negative amount is considered a credit.
- The invoice balance is the sum of all balances for a particular invoice. If this sum is
0, the invoice is considered
Paid; if the sum is not zero, the invoice is set
Think of the following example: A customer has made a pre-payment for an ordered product, and a user registers this, creating a balance record of the type
Prepayment. Pre-payments (or any other existing balance records) are considered accordingly upon invoice creation. When the invoice is finalized (its status set
Open), JustOn generates a balance record of the type
Invoice. The balance record amount equals the grand total amount of the invoice. Then, the user registers the final payment with the invoice, generating a record of the type
Payment. The invoice balance records may look like this:
|Prepayment||-10 €||2017-03-02||Received a pre-payment of 10 € from the customer|
|Invoice||25 €||2017-03-27||Set the invoice
|Payment||-15 €||2017-03-31||Received the outstanding 15 € from the customer|
The invoice is set
Paid (-10 + 25 -15 = 0) with a payment date of 2017-03-31.
JustOn allows for tracking collections for invoices. To this end, it can register payment operations that have occurred in external systems as payment entries and match them to invoices. Each payment entry represents a record of a bank statement, that is, a registered payment operation intended to meet an open invoice amount.
Payment entries mark an invoice as
Paid or a credit memo as
You can manually set an invoice
Paid using the function Register Payment, which directly creates a balance record. In addition, there are three ways to automatically acquire payment entries:
- via an integration with an external payment provider, like PayPal or Stripe,
- importing bank statements from CSV files or
- retrieving banking transactions from figo.
To support accounting purposes, JustOn allows for generating account statements. An account statement represents a report that summarizes the balances of a given account for a specific time period. PDF copies of the account statements can then be distributed to the corresponding recipients.
Account statements can have different statuses.
- Draft: New account statements have the status
Draft. You can check draft account statements for correctness and edit them as necessary.
- Closed: Finalizing account statements sets them to
Closedand generates the PDF account statements to be sent out.
There are two ways to create account statements:
- individually for a single account using the function Account Statement,
- for multiple accounts using the Statement Runs functionality.
After reviewing them, you can then distribute the generated account statements.
To help tracking and claiming outstanding payments, JustOn supports dunning processes. With this respect, the following objects are important:
Statements represent the dunning statements that document outstanding payments, based on which you generate dunning reminders to be sent out to the corresponding accounts. The dunning records are associated to the relevant accounts and hold the corresponding data as well as payment information.
Statement details represent the individual items to which the dunning refers - the actual invoices and, if set up accordingly, the dunning fees. Dunning details are in a master-detail relationship to a dunning.
A dunning run can include multiple invoices per account, producing an individual statement detail for each involved invoice. Consequently, an invoice that is subject to a dunning process relates to the produced statement detail, but not to the statement.
Dunning reminder that involves two invoices
The dunning process feature is optional.
Basically, the dunning process involves three main steps:
- Dunning run: You create draft dunnings for open invoices or account statements.
- Finalizing: You close the dunnings and generate the dunning reminder PDF documents.
- Distribution: You send out the dunning reminders via email.
The dunning run refers to the operation that creates dunning notifications. The statements issued with the dunning run are referred to as dunnings. Depending on the progress of the dunning process, they can have different statuses.
- Draft: New dunnings have the status
Draft. You can check draft dunnings for correctness and edit them as necessary.
- Closed: Finalizing dunnings sets them to
Closed, generates the PDF dunning reminders to be sent out, and adds the defined dunning fees to the account balance and the open invoice amount. As a whole, this makes the dunning operation legally effective.
In order to use the dunning process feature, you must configure it accordingly using the custom setting Dunning Levels. This setting defines, among others,
- the condition to be matched for activating the process,
- dunning fees and late fees as required,
- the due period and a grace period.
Using multiple dunning levels, you can build your individual dunning escalation scenario, which may progress from friendly reminders to firm warning letters.
Once set up, you can then start a dunning run using the Statement Runs functionality.
Service companies (SaaS, professional services, etc.) usually generate recurring revenue based on subscriptions with their customers. JustOn supports subscription billing with recurring and transactional (usage-based) items. Now the companies need continuous reporting about subscription-based KPIs, too - like, for example, MRR (monthly recurring revenue) or Churn (rate of discontinued subscriptions or lost revenue).
For analytics and reporting purposes, JustOn introduces specific metric objects that can be set up to track and display invoicing-relevant changes. The metric records can give valuable insights into your business by displaying the recurring revenue for the current or a future date, recurring changes (like growth or churn), or expected cash flow on a monthly basis. In addition, you can use the metric records in order customize the JustOn reports or to build your own reports in Salesforce.
Subscription metrics track changes to recurring or transactional items, like creation, termination, price/quantity modifications, to display the recurring revenue or growth/churn rates. Subscription metrics are related to the account and the subscription.
Cash metrics track subscription amount changes in order to display a business's cash flow. Cash metrics are related to the account and the subscription.
JustOn makes use of Salesforce's reporting feature, providing a number of specific business reports based on your org's invoicing-relevant data. You can select and add these reports to your Salesforce org.