Skip to content

Balances

Accounting Support

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, 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.

  • 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 Open.

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.
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 finalization
Dunning 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.

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__c (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__c 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.

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.
  • 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.

The checkbox IsPrepaid marks the balance as a prepaid balance. Consequently, deselecting this checkbox removes the particular treatment of prepaid balances.

The checkbox IsPrepaid is not displayed on the balance layout by default.

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

Enabling Balance Overpayment

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 to Open.
  • 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 to Paid.
  • 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 setting Enable Transfer Booking Details.
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