|Billing||Invoice Generation||Accounts Receivable|
|Set up subscriptions
including items and their pricing
Set up usage data billing
Billing arbitrary objects
|Execute invoice runs
to produce invoices
Create account statements
In order to cover these topics, JustOn 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 base, 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 your contracts. 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.
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 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. 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.
To issue a credit, you create a new invoice with a negative payment amount - either manually or based on an existing invoice. The latter option lets you select the corresponding items and payments to be done.
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
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.
Payment entries are used to mark an invoice as
Paid or a credit memo as
Settled. There are various ways to create payment entries:
- manually by setting an invoice
Paidusing the function Register Payment, which directly creates a balance record,
- automatically via an integration with payment providers or by importing a bank statement, which creates payment entries that are matched and assigned to open invoices.
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.
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.
You can then distribute the generated account statements via email.
To help tracking and claiming outstanding payments, JustOn supports dunning processes.
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.
- Finish run: 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: Finishing 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.
You can then start a dunning run using the Statement Runs functionality.