Bookkeeping Data for Unbilled Revenue
When billing subscriptions, the invoice creation may be "decoupled" from the subscription's service period for several reasons, like
- your AR team waits for a purchase order before issuing the invoice,
- your business usually issues invoices at the end of a service period, or
- a quarterly invoice run.
Your accounting, however, may still require bookkeeping data for those items before they are actually invoiced. To support this scenario, JustOn can generate preliminary bookkeeping data based on active subscriptions. This bookkeeping data is of the type Unbilled Revenue
.
When creating and finalizing the corresponding invoices, the existing subscription-based bookkeeping data is reverted. Consequently, the reverted bookkeeping data offsets the previous unbilled revenue. The actual revenue bookkeeping data for the invoice is generated in addition.
Info
The support for subscription bookkeeping data is available as of JustOn 2.58.
Bookkeeping Data for Subscriptions
Subscription Bookkeeping Data Structure
Bookkeeping data is structured in booking periods and booking details. Booking periods and booking details are in a master-detail relationship.
A booking period represents one month in bookkeeping. Hence, it aggregates the booking details produced for this month. Booking periods are grouped by business entities.
Be aware that the booking period status finally decides the booking detail allocation:
- Open: A booking period with the status
Open
aggregates the booking details produced for this month. -
Closed: A booking period with the status
Closed
is ignored. Any booking details produced for this period are moved to the next open booking period.
Booking detail allocation with closed booking periods
Note
Make sure to establish business processes to close booking periods according to your requirements.
A booking detail represents a record in an accounting ledger. JustOn creates one booking detail per subscription item. Basically, it holds the same data as a booking detail produced from an invoice line item, except for
- Invoice
- Invoice Line Items
- Invoice No
These fields are not set since there is no invoice produced yet.
Booking details cannot be modified once they have been created.
Subscription Bookkeeping Data Workflow
To create unbilled revenue bookkeeping data, JustOn provides the Unbilled Revenue Job. This job "simulates" a monthly invoice run, creating the unbilled revenue bookkeeping data based on subscriptions for each past month if there are no corresponding invoices yet. When started on 2021-10-01, for example, JustOn creates unbilled revenue bookkeeping data up to September.
With respect to the unbilled revenue bookkeeping data generation, be aware of the following specifics:
-
JustOn generates booking details for subscription items of the following types:
Recurring
,Recurring Prorated
,Recurring Prorated AVG
,One-Time
andMinimum Fee
.The following items are ignored: transactional items, one-time items without billing unit and billing period, and items without start time (or relevant subscription start time).
-
Unbilled revenue always produces two types of bookkeeping data:
Revenue
– to be booked on the usual revenue accountUnbilled Revenue
– to be booked on a dedicated receivables account
-
For unbilled revenue, JustOn does not separate booking details for the account and the contra account.
-
Once the invoices are created and finalized, the subscription-based bookkeeping data is completely reverted, offsetting the previous bookings. This includes all unbilled revenue bookings that are created up to the invoice's service period end and that are not yet associated to an invoice.
The resulting reverse and reversed booking details are marked as
Reversal
(see Bookkeeping Data Reversal).The actual revenue bookkeeping data for the finalized invoice is generated in addition.
-
Unbilled revenue bookkeeping data is always created on a monthly base. That is, they may differ from the invoice bookkeeping data if you use longer (or shorter) billing periods or invoice run periods. JustOn makes sure, however, that the subscription-based bookkeeping data is properly reverted upon invoice finalization.
- For the simulated invoice run, JustOn ignores the lead time and the billing practice.
- If there is no unbilled revenue bookkeeping data for a subscription, JustOn creates the corresponding bookkeeping data from the subscription start up to the previous month.
- The start date is either the subscription start date, the earliest item start date (as long there is no item without start date) or the date of the last invoice created for the subscription. If none of these dates is available, the subscription is ignored.
- You can set account numbers or business partner account numbers for unbilled revenue bookkeeping data using the Collective Accounts custom setting.
- You can control whether the bookkeeping data for a subscription is created or not using the custom field
CreateUnbilledRevenue
on the subscription, see Enabling Unbilled Revenue Creation on Subscription Basis. - For periods for which invoices have already been issued, JustOn does not generate subscription bookkeeping data.
JustOn stores the start date for the next booking detail generation in the Item field Next Booking Detail Start
. This field is used to determine the start date for generating new booking details when the bookkeeping data creation job is started.
For details on executing the Unbilled Revenue Job, see Scheduling Unbilled Revenue Job.
Info
JustOn recommends to create a report to detect subscription booking details that are not yet assigned to an invoice after the accounting year has expired. Possible findings may indicate, for example, that there were some invoices not created or finalized, or that you need to manually clear bookkeeping accounts.
Subscription Bookkeeping Data on Invoice Cancellation
If you cancel an invoice that has been created from a subscription, JustOn recreates the subscription bookkeeping data for the service period of the canceled invoice. That is, the cancellation not only reverts the booking details that have been produced for the invoice. If the invoice originates from a subscription, JustOn will also recreate the Unbilled Revenue
(subscription-based) booking details for the service period of the canceled invoice using the original values of the subscription and subscription items.
Example use case
Assume the following example:
(1) You generate Unbilled Revenue
(subscription-based) bookkeeping data from January until May.
(2) You create an invoice for the period January–June: JustOn generates Revenue
bookkeeping data for the period January–May, assigned to the invoice. For July, you will get Unbilled Revenue
bookkeeping data.
(3) Now you cancel the last invoice: JustOn regenerates the subscription-based bookkeeping data for January–June. Now there is Unbilled Revenue
bookkeeping data available for the entire period from January until July without a gap.
(4) You create and finalize a new invoice for the period January–June: JustOn generates Revenue
bookkeeping data for the period January–June, assigned to the invoice.
Subscription Bookkeeping Data Example
The following example illustrates the behavior described above.
Think of a subscription over a net 12000,00 with a service period of one year from 2020-01-01 to 2020-12-31. You invoice the subscription in December 2020. You want the unbilled net revenue recorded for the period from January to November – 1/12 for every month.
Once set up as necessary, JustOn creates two booking details every month (= booking period) from January through November: one Unbilled Revenue
debit booking to be booked on the relevant receivables account, and one Revenue
credit booking to be booked on the usual revenue account.
# | Booking Period | Type | Amount | Debit/Credit Flag | Account | Contra Account |
---|---|---|---|---|---|---|
1 | 2020-01 | Revenue |
1000,00 | H (Credit) |
Revenues | Debtor |
2 | 2020-01 | Unbilled Revenue |
-1000,00 | S (Debit) |
Receivables | Debtor |
3 | 2020-02 | Revenue |
1000,00 | H (Credit) |
Revenues | Debtor |
4 | 2020-02 | Unbilled Revenue |
-1000,00 | S (Debit) |
Receivables | Debtor |
... | ||||||
21 | 2020-11 | Revenue |
1000,00 | H (Credit) |
Revenues | Debtor |
22 | 2020-11 | Unbilled Revenue |
-1000,00 | S (Debit) |
Receivables | Debtor |
On invoice creation in December, JustOn reverts the previous unbilled revenue bookings: it creates one (large) Unbilled Revenue
credit booking to offset the previous 11 Unbilled Revenue
debit bookings, and another (large) Revenue
debit booking to offset the previous 11 Revenue
credit bookings.
# | Booking Period | Type | Amount | Debit/Credit Flag | Account | Contra Account |
---|---|---|---|---|---|---|
23 | 2020-12 | Revenue |
-11000,00 | S (Debit) |
Revenues | Debtor |
24 | 2020-12 | Unbilled Revenue |
10000,00 | H (Credit) |
Receivables | Debtor |
Of course, JustOn also creates the relevant booking details for the finalized invoice. Assuming a tax rate of 19%, they will be like
# | Booking Period | Type | Amount | Debit/Credit Flag | Account | Contra Account |
---|---|---|---|---|---|---|
25 | 2020-12 | Revenue |
12000,00 | H (Credit) |
Revenues | Debtor |
26 | 2020-12 | Tax |
2280,00 | H (Credit) |
Taxes | Debtor |
Unbilled Revenue Tax Handling
The global setting Unbilled Revenue Tax
controls the tax handling when generating unbilled revenue bookkeeping data. There are three options:
Option | Description |
---|---|
Net (or empty) |
Creates net booking details for both Unbilled Revenue and Revenue |
Gross |
Creates gross booking details for both Unbilled Revenue and Revenue |
Net+Tax |
Creates net booking details for Revenue and Tax , and gross booking details for Unbilled Revenue |
Unbilled Revenue Update
Under certain circumstances, your business may require to update unbilled revenue bookkeeping data. This may be the case, for example, when the start date or the end date of an item has been changed. Ultimately, your business requirements determine based on which modifications to subscriptions or subscription items you must update the unbilled revenue bookkeeping data.
The update of the unbilled revenue bookkeeping data relies on the Unbilled Revenue Job. To perform the update, the job requires the dedicated checkbox UpdateUnbilledRevenue
on the subscription to be set. Depending on your business requirements, you can either have users select the checkbox manually, or create a custom flow to have it set automatically when certain conditions apply.
Info
You can update unbilled revenue bookkeeping data as long as the subscription has not been invoiced. Once this is done, you must cancel the invoice. This will recreate all related bookkeeping data.
Unbilled Revenue Update Workflow
This is how the unbilled revenue update works:
Generally, the job processes all booking data up to the previous month – the same as without updating data.
If the checkbox UpdateUnbilledRevenue
is selected, the job
- creates a reverse booking detail for each preliminary booking detail, producing reverse and reversed booking details marked as
Reversal
(see Bookkeeping Data Reversal) - does not modify existing booking details
- creates new preliminary booking details based on the current subscription and item data
- if applicable, separately aggregates the produced reverse and new booking details
- deselects the
UpdateUnbilledRevenue
checkbox
Note that the job sets the last day of the previous month as the booking date for the produced reverse and new booking details.
For details on configuring the update, see Enabling Unbilled Revenue Update.
Unbilled Revenue Update Example
The following example illustrates the behavior when updating unbilled revenue.
Assume this input data:
- A subscription with one recurring item
- A item price of 1000 € per month
- The start date set to 2022-01-01
- No end date set
(1) The Unbilled Revenue Job runs monthly from January to April, creating bookkeeping data from January until March:
Type | Amount | Booking Date |
---|---|---|
Revenue | 1000 | 2022-01-31 |
Unbilled Revenue | -1000 | 2022-01-31 |
Revenue | 1000 | 2022-02-28 |
Unbilled Revenue | -1000 | 2022-02-28 |
Revenue | 1000 | 2022-03-31 |
Unbilled Revenue | -1000 | 2022-03-31 |
(2) In April, you postpone the item start date by two months to 2022-03-01. For a better illustration of the result, assume you also modify the item price from 1000 € to 100 €. A flow sets the checkbox UpdateUnbilledRevenue
on the subscription.
(3) The next job execution takes place in May. It produces updated bookkeeping data for January until April:
Type | Amount | Booking Date | Description |
---|---|---|---|
Revenue | -3000 | 2022-04-30 | reverted revenue for January–March |
Unbilled Revenue | 3000 | 2022-04-30 | reverted unbilled revenue for January–March |
Revenue | 200 | 2022-04-30 | new revenue for March–April |
Unbilled Revenue | -200 | 2022-04-30 | new unbilled revenue for March–April |
(4) The next job execution takes place in June. It will create new bookkeeping data as usual:
Type | Amount | Booking Date |
---|---|---|
Revenue | 200 | 2022-05-31 |
Unbilled Revenue | -200 | 2022-05-31 |
Bookkeeping Data Reversal
Some business processes produce reverse booking details for invoice or subscription-based booking details, including, for example:
- Canceling an invoice, see Specific Booking Detail Use Cases
- Finalizing an invoice with unbilled revenue bookings, see Subscription Bookkeeping Data Workflow
- Updating existing unbilled revenue bookings, see Unbilled Revenue Update
JustOn marks both the reverse and the reversed (original) booking details setting the checkbox Reversal
. This clearly identifies the booking details that are subject to a reversal operation, facilitating proper reports on the relevant data.
Info
By default, the new opposite booking detail includes only the original JustOn fields. If you need additional project-specific fields to be copied, you must use the custom setting Copy Additional Fields.