Balances
← Payments in Billing & Invoice Management
In banking and accounting, a balance represents an amount of money due on an account, produced as the result of debit and credit transactions.
In JustOn Billing & Invoice Management, specifically, business operations like, for example, finalizing invoices or credits, assigning payments, issuing refunds, applying dunning fees, etc., create individual balance records. Consequently, the balances show the debits and credits for each account.
Info
Generally, JustOn creates balances automatically with specific operations, for example, finalizing invoices, assigning payment entries, etc. Certain business use cases, however, may require balances to be created manually, like pre-payments or payouts.
Managing Balances
Setting Up Balance Management Options
Balance Implementation
Balances are associated to the account in a master-detail relationship.
JustOn adds up the balance records for invoices and for accounts, thus creating invoice balances and account balances.
- Invoice balance
-
The invoice balance is the sum of all balances for a particular invoice. If this sum is
0
, the invoice is consideredPaid
; if the sum is not zero, the invoice is setOpen
.For
Closed
deposit invoices, the invoice balance may not equal zero. However, this does not make the closed deposit invoice an open receivable. - Account balance
- 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 balance aggregation affects the following fields:
Object | Affected Field | Field Type | Description |
---|---|---|---|
Account | Balance | Roll-Up Summary (SUM Balance.Amount) | Shows the sum of all balances associated to this account. A positive amount is considered a debit, and a negative amount is considered a credit. |
Invoice | Balance | Currency (16,2) | The sum of all balances for this invoice. An invoice is considered paid or settled when the balance is zero. |
Status | Picklist | The main invoice status, is set Open when the balance is not zero, is set Paid when the balance is zero. |
|
Payment Date | Date | The date on which the payment for this invoice has been received completely. Is cleared when the balance is not zero, is set to the date of the last balance record when the balance is zero. |
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:
Balance Record | Amount | Date | Description |
---|---|---|---|
Prepayment | -10 € | 2017-03-02 | Received a pre-payment of 10 € from the customer |
Invoice | 25 € | 2017-03-27 | Set the invoice Open with a grand total of 25 € and a payment due date of 2017-03-27 |
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.
Standard Balance Types
Depending on the semantics, there are various types of balances. Some are set by JustOn, others can be selected by users.
System Balance Type | Description |
---|---|
Invoice | Is created for an invoice on finalization. |
Credit | Is created for a credit on finalization. |
Payment | Is created for a registered payment entry or as a reverse balance on SEPA direct debit export. |
Payout | Is created as a reverse balance on SEPA credit export. |
Prepaid | Is created for specific pre-payment data on invoices. |
Clearing | Is created for an invoice or credit when it is balanced out (by a corresponding credit or invoice), or for a discount amount when a discounted invoice is paid. |
Settlement | Is created for an invoice or credit on settlement. |
Cash | Is created for an invoice with the payment method Cash on finalization. |
Dunning Fee Dunning Income |
Is created for dunning fees.Dunning Fee – created on dunning finalizationDunning Income – created on (over)payment receipt |
Write-Off | Is created for an invoice on write-off. |
Refund | Is created when refunding a payment. |
Chargeback | Is created for a chargeback. |
User-selectable balance types include Payment
, Refund
, Prepayment
and Payout
. Balances are, however, not restricted to these types. You can create new types adding new picklist values to the Type
field. In addition, JustOn accepts other type values when importing balances.
Info
We recommend to not create balances of the type Clearing
manually. JustOn creates clearing balances to offset given amounts on cancellations or settlements. A clearing balance that has been created manually from scratch may produce errors when processing cancellations or settlements.
Balances and Business Entities
Business processes that create balances or (re)assign balances to invoices or accounts will relate the touched balances to business entities.
JustOn Billing & Invoice Management takes the information for assigning a balance to a business entity either from the invoice or via the account.
- From invoice
- Any invoice-related operations that involve a balance creation or update will assign the business entity set on the invoice to the corresponding balance. These processes include invoice finalization, payment assignment, dunning fee creation, write-off, and clearing balance creation on cancellation.
- Via account
- For balances that are not related to an invoice, JustOn Billing & Invoice Management retrieves the business entity from account-related data – either using business entity mappings or comparing the given IBAN values (in
BusinessEntity.IBAN
andBalance.BankAccountId
).
Automatic Balance Assignment
Usually, JustOn assigns new balances to invoices on finalization if the following conditions are met:
- The balance does not refer to an invoice
- The checkbox
No Auto Assignment
is unselected - The balance is not locked as a result of a refund
- The amount does not equal zero
- With respect to the invoice grand total, the amount has a reversed +/- sign
If there is a subscription linked to the balance, the balance is only assigned to invoices of the linked subscription. If there is the field ON_Opportunity
(Lookup(Opportunity)
) on the balance, the balance is only assigned to invoices for the linked opportunity.
If an invoice has set a balance assignment key, JustOn assigns balances only if they have set the same key or if their key fields are empty.
You can disable the automatic assignment
- either selecting the checkbox
No Auto Assignment
on the balance, - or adding and selecting the custom checkbox field
ON_NoAutoBalanceAssignment
on the invoice.
For details on manual balance assignment, see Manually Controlling Assignments.
Pre-Payment Balance
Your business model may involve pre-payments – payments for some product or service, executed before the corresponding invoice is created. On invoice generation, however, you must take into account these pre-payments and, accordingly, reduce the open invoice amount.
JustOn supports two ways for automatically dealing with pre-payments. Which to use depends on the type of products you sell and the corresponding billing model:
-
For one-time products, you can have the pre-payment data directly added to the invoices. On finalization, JustOn creates specific prepaid balances, which reduce the payment amount or settle the invoices immediately.
For details, see Using Pre-Payment Data on Invoices
-
For repeated billing, you can have a pre-payment balance automatically assigned to an invoice. This reduces the payment amount or, if balanced out completely, sets the invoice
Paid
.For details, see Assigning Pre-Payment Balance to Invoice
Using Pre-Payment Data on Invoices
JustOn can generate balance records of the type Prepaid
based on specific pre-payment data on invoices.
JustOn automatically creates a prepaid balance for pre-payments when an invoice that contains specific pre-payment data is finalized. If the pre-payment covers the open invoice amount, the invoice immediately becomes Paid
.
The checkbox IsPrepaid
marks the balance as a prepaid balance. Consequently, deselecting this checkbox removes the particular treatment of prepaid balances. The balance type is irrelevant with this respect.
The checkbox IsPrepaid
is not displayed on the balance layout by default.
As opposed to other balances, the prepaid balances are deleted and thus removed from the account when the corresponding invoice is canceled. This simplifies the import of invoices with pre-payments: there is no more need to import the payment entries in an additional step. In case of an error, you can cancel the invoice and import it again without dealing with duplicate pre-payment balances.
Prepaid balances have particular properties:
- The balance is automatically created when an invoice with specific pre-payment data is finalized.
- The balance is automatically deleted when the corresponding invoice is canceled. Recreating the (corrected) invoice will immediately recreate the prepaid balance as well – if the pre-payment data is still available on the source record.
- It is not possible to delete the balance manually.
- The balance is never split, even on overpayment or when additional payment entries are registered with the invoice.
Setting Up Prepaid Balance Management
Assigning Pre-Payment Balance to Invoice
For repeated billing based on recurring items or automatic subscription renewal, you can have a balance of the type Prepayment
assigned to the first invoice of the expected series. JustOn makes use of a specific balance assignment key to make sure that the automatic balance assignment correctly relates the balances with the matching invoices. To hold the key, JustOn 2.66 has introduced the field Balance Assignment Key
on the Subscription, Invoice and Balance objects.
In broad outline, the feature works as follows:
(1) You use an external system that handles orders and payments. Based on this information, the external system prepares the source data for both JustOn's invoice creation and balance assignment, making sure that the balance assignment key is correctly set.
Info
The source data preparation and provision is project-specific, as it depends on your business data and system environment. Be aware that providing for the required source data may involve some implementation effort.
(2) JustOn retrieves the invoicing data, including the balance assignment key, either as source data for automatically building subscriptions or for the generic invoice run. To support the balance assignment key with the subscription build or the generic invoice run, you must create the field ON_BalanceAssignmentKey
on the corresponding source object and then make sure to have it set on the relevant source records. Subsequently,
- when building subscriptions, the balance assignment key is set on the produced subscriptions, from where it is copied to the invoices on invoice generation,
- with the generic invoice run, the balance assignment key is immediately set on the produced invoices.
(3) JustOn retrieves the pre-payment data, creating balance records of the type Prepayment
, which also include the balance assignment key.
(4) On invoice finalization, JustOn applies the automatic balance assignment, relating the available pre-payment balances with the corresponding invoices
- if the balance assignment keys on the invoice and the balance match, or
- if the balance assignment key on the invoice is set and the key field on the balance is empty.
Once the source data is set up and prepared accordingly, JustOn automatically assigns the available pre-payment balances to the corresponding invoices. No further configuration is necessary.
Balance Overpayment
You can assign balances to draft invoices that exceed the grand total of the invoice, which results in an overpayment. When the invoice is finalized, that is, set Open
, JustOn usually splits the overpayment balance along the open invoice amount: one part covers the open invoice amount and is assigned to the invoice, whereas the remainder is unlinked from the invoice.
Event | Balance Record | Amount | Date | Description |
---|---|---|---|---|
Invoice finalization | Invoice | 100,00 | 2017-11-20 | Invoice balance is created when the invoice is set Open . |
Payment entry (75,00) | Payment | -75,00 | 2017-11-21 | Partial payment is registered. |
Payment entry (30,00) | Payment | -25,00 | 2017-11-24 | Second payment entry of 30,00 is registered and split into two balance records of -25,00 and -5,00. |
Payment | -5,00 | 2017-11-24 | Remainder balance (-5,00) is unassigned from the invoice. It remains assigned to the account and can be used for a future invoice. |
The invoice is set Paid
(100 - 75 - 25 = 0) on 2017-11-24.
JustOn assigns any available open balances to invoices on finalization, immediately reducing the open invoice amount. In addition, you can schedule a job in order to have remainder balances automatically assigned to open invoices on a regular basis.
Info
When manually assigning balances to draft or open invoices using the Register Payment functionality, you can select the Split Payments option. This splits an overpayment balance, irrespective of the corresponding setting Allow Overpayments
.
Certain business use cases require overpayments to be kept on invoices. Assume, for example, you receive monthly payments (100,00) for a usage-based service that is invoiced once per year. Now the actual consumption yields a grand total of the yearly invoice that is lower (1150,00) than the sum of the received payments. If you allow an overpayment on the invoice, the difference remains assigned to this invoice, which prevents it to be used for other invoices of this account. You can then refund the overcharged amount (50,00) and manually create an according balance record for the invoice of the type Payout
or Refund
.
Date | Balance Record | Amount |
---|---|---|
2017-01-01 | Payment | -100,00 |
... | ... | ... |
2017-12-01 | Payment | -100,00 |
2018-01-08 | Invoice | 1150,00 |
2018-01-10 | Payout | 50,00 |
Payment Balance Transfer
Users can manually transfer balances that represent payment transactions (Payment
, Refund
, Prepayment
, Payout
, Chargeback
and Chargeback Fee
) from one account to another. This may be necessary, for example, in case of incorrectly assigned payments or when clearing collective debtor accounts.
When moving a balance, users can also directly assign it to an invoice, even to another one of the same account.
Moving a balance involves the following steps:
- JustOn unregisters the balance from the current invoice. This may change the status of the invoice, like from
Paid
toOpen
. - The balance is transferred to the selected account.
- If the user has selected a target invoice, JustOn also assigns the balance to the selected invoice. This may change the status of the invoice, like from
Open
toPaid
. -
If the creation of bookkeeping data is enabled and at least one booking detail exists for the balance, JustOn will update the bookkeeping data.
- By default, it creates two new payment booking details: one for the new debtor booking account and a "reverse" one for the old debtor booking account (using the bank booking account as a "relay" account).
- If required by your accounting system, JustOn can bypass this two-step move using a booking detail of the type
Transfer
. Doing so directly transfers the balance amount from the old debtor to the new debtor without involving the bank. To this end, you enable the global settingEnable Transfer Booking Details
.
For the new booking details, the current date (
TODAY
) is set as the booking date.
Booking detail creation example
- Debtor no for account A:
123
- Debtor no for account B:
456
- Account no for the bank:
4711
JustOn creates the following booking detail after a balance with an amount of -1000
has been initially created for account A:
Type | Account | Amount | BP Account No | G/L Account |
---|---|---|---|---|
Payment | A | -1000 | 123 | 4711 |
After manually transferring the balance to account B, the resulting booking details will be:
Type | Account | Amount | BP Account No | G/L Account |
---|---|---|---|---|
Payment | A | +1000 | 123 | 4711 |
Payment | B | -1000 | 456 | 4711 |
4711
is used as an intermediary account.
Now you enable the global setting Enable Transfer Booking Details
: Using a transfer booking detail will directly transfer the balance amount from 123
to 456
without relaying it via 4711
:
Type | Account | Amount | BP Account No | G/L Account |
---|---|---|---|---|
Transfer | B | -1000 | 456 | 123 |
Moving Balance to New Account
Enabling Transfer Booking Details
Payment Balance Collection
Your business may involve payment balances on accounts that are not related to invoices and that originate, for example, from payments for canceled invoices or from overpayments in the past. Typically, you keep these payments to assign them to new invoices of the account. Your terms and conditions may, however, not allow this, requiring a customer to explicitly claim a refund.
Now if there are no new invoices or if a customer does not claim the refund during a certain period of time, these payment balances may pile up. Depending on your jurisdiction, you may be entitled to collect these payments – writing off the payables – after the statute of limitations has passed.
Collecting Payment Balances
Enabling Payment Balance Collection
Note
Be aware that writing off payment balances, which represent payables, differs from writing off invoices, which represent receivables. For details on writing off invoices, see Write-Off.
Balance Write Off Implementation
JustOn Billing & Invoice Management supports collecting out-of-statute payments by creating write-off balances.
Once set up accordingly, users can invoke the collection – setting a date and a tax rate – either from a single balance record, from a dedicated filtered balances list view that shows the relevant records, or from the Balances related list on the Account detail view.
For each involved payment balance, JustOn then produces a balance of the type Write-off
and the write-off reason Statute of limitations
. It locks both the original payment balance and the produced write-off balance, applying the lock reason Statute of limitations
.
If the booking detail creation for balances is enabled, JustOn also writes the corresponding booking details.
Be aware that the relevant balance records must
- relate to the same business entity,
- be of the types
Payment
orPrepayment
, - not be related to invoices,
- not be locked.
Booking Write-Off Balances
The write-off amount is always a gross value. You can control, however, how JustOn creates the corresponding booking details.
If you create booking details for balances and net booking is enabled (the global setting Enable Accounting in Gross Values
is not selected), JustOn produces two booking details – one for the write-off net value and one for the corresponding tax. The tax rate and amount is set when creating the write-off balance. With gross booking, JustOn creates one booking detail for the write-off gross value.
When collecting the payment balance, users can manually control the booking detail creation, overruling the global setting. Selecting a tax rate makes JustOn calculate taxes on the current amount, which will produce net and tax booking details. If users select No tax calculation
, JustOn will not calculate taxes, not set the tax rate and amount on the write-off balance, and consequently produce one gross booking detail.
Be aware of the following specifics with respect to the presented tax rates:
- The tax rates are taken from the available tax rules.
- The highest tax rate is selected by default.
- Without an appropriate tax rule configuration, only the option
No tax calculation
will be available.
Using a dedicated collective account setting, you can immediately set the booking account to which allocate the produced write-off booking details.