Best Practice: Tracking, Matching and Booking Payments

You can set up JustOn Billing & Invoice Management to be your one-stop solution for managing payment information:

Tracking, matching and booking payments

Tracking Payment Transactions

JustOn allows for tracking payment operations for invoices. To this end, it can register payment transactions that have occurred in external systems as payment entries. Each payment entry represents a record of a bank statement, that is, a registered payment operation intended to meet an open invoice amount.

Payment amount calculation

When creating the payment entry from imported payment data, JustOn calculates the effective payment amount as follows:

Field Description
Credit For deposits from customers. An empty value equals 0.
Debit For payouts to customers. An empty value equals 0.
Payment Amount Credit - Debit

The open invoice amount or credit amount is then matched against the calculated payment amount.

A common way to acquire payment entries is importing bank statements from CSV files produced by your bank. To match the CSV file's contents, you must specifically configure the import, specifying, among others, the file encoding, column separator, field mapping, etc. For details, see CSV Import Configuration.

Import configuration example

The following examples illustrate possible import configurations. To understand the examples, make sure you are familiar with JustOn's approach to the payment amount calculation.

Be aware that the CSV structure and the corresponding import configuration depend on your environment.

Assume a simple CSV file with just four columns: date, invoice number, credit (absolute amount), debit (absolute amount).


Note that the first two entries represent payments, but the third entry represents a payout. So you need this field mapping to correctly set the corresponding payment entry fields:

1 BookingDate__c;2 Reference__c;3 Credit__c;4 Debit__c

This creates the following payment entries on import:

# Booking Date Reference Credit Debit
1 2019-10-12 201900023 150,00
2 2019-10-13 201900045 260,00
3 2019-10-16 201900078 80,00

Now assume the same payment operations (two payments and one payout) in a more complex CSV file with headers and more information (which you may not need). Note that there is only one column for the amount with both positive and negative values. So you will, consequently, fill one field with these values – namely the one that handles the same positive or negative values with the same payment or payout effect.

2019-10-12;standing order;201900023;Firma;DE75512108001245126199;150,00;EUR
2019-10-13;direct debit;201900045;Individuel;FR7630006000011234567890189;260,00;EUR

To extract the information to produce the same payment or payout effect, you need this field mapping:

Date BookingDate__c;Reference Reference__c;Amount Credit__c

This creates the following payment entries on import:

# Booking Date Reference Credit Debit
1 2019-10-12 201900023 150,00
2 2019-10-13 201900045 260,00
3 2019-10-16 201900078 -80,00

Once set up, your users can import the CSV payment data. For details, see Starting CSV Payment Data Import.

Matching and Assigning Payment Entries

After importing payment entries, you assign them to invoices. This is a two-step process:

(1) First, JustOn automatically matches payment entries to existing invoices and dunnings. This produces a list of likely matches based on the following main conditions:

  • The invoice has the status Open, or, respectively, the dunning has the status Closed.
  • The invoice number or, respectively, the dunning number is found in the reference field of the payment entry.

JustOn compares the contents of the payment reference with specified fields of the matching target objects. If a matching invoice number is found, it always takes precedence over other possible matches. For further details, see Matching Logic.

(2) Second, after reviewing the matching proposals, users assign the payment entries to invoices or dunnings. This creates balance records of the type Payment, which are assigned to the corresponding invoices or dunnings. The originally imported payment entries are set to the status Converted.

If there is no matching invoice or dunning but a matching account, a payment entry can be assigned to the corresponding account. This creates a balance record on the account. Doing so, you can, for example, handle pre-payments received from customers before the invoices are issued.


Be aware of the following payment matching specifics:

  • For the matching to work, the payment entry field Payment Provider must be empty.
  • Overpayments are split along the open invoice amount: one part covers the open invoice amount and is assigned to the invoice, whereas the remainder is assigned to the account.
  • If there are more than one open invoices found for an account, JustOn sorts them by their date and settles the oldest one first.
  • If a payment entry matches a cancellation invoice or a canceled invoice, JustOn uses the account of the originally canceled invoice as the matching target. Any created payment balances will be assigned to this account, without relating to the canceled invoice or the cancellation invoice.
  • If a payment entry matches a paid invoice, JustOn uses the account of the invoice as the matching target. Any created payment balances will be assigned to this account, without relating to the paid invoice.
  • In case of a chargeback, JustOn includes invoices of the statuses Paid, Settled, Closed and Canceled to find a likely match.
  • For payment entries assigned to statements (dunnings or account statements), JustOn distributes the payment amount to the invoices referred to by the statement. Again, the invoices are sorted by their date, with the oldest one settled first.

    In case of an overpayment, JustOn creates an account balance for the remaining amount.

Basically, the automatic matching process compares all words (strings separated by spaces) that are contained in the Reference field of the payment entry with specified fields of matching target objects. The custom setting Payment Matching Fields determines which fields of which objects to consider, controlling the matching scope.

Pre-defined matching settings

JustOn ships pre-defined matching settings for the invoice number, the IBAN and the account number:

Name Source Field Reference Match Expression
Invoice Number Invoice__c Name
Invoice IBAN Invoice__c BankAccount__c [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}
Account Number Invoice__c Account__r.AccountNumber

Usually, no customization is needed. Depending on your data or business requirements, you may need, however, to modify the matching logic. In this case, make sure that you use only fields that are set to be unique, that is, whose value can only exist once in your org. Otherwise you may produce poor results or break the matching logic. For details about customizing the matching logic, see Payment Matching Fields.

Once set up, your users can proceed to match and assign the payment entries. For details, see Executing Matching Procedure and Executing Assignment Procedure.

Creating Bookkeeping Data

JustOn continuously produces invoices for the products or services you sell and can, if set up accordingly, register and allocate corresponding payments. In that sense, JustOn also acts as a sales journal or debtors ledger. To complete the experience, you can have JustOn write bookkeeping data.

(1) If set up accordingly, JustOn generates the bookkeeping data for revenues and taxes automatically upon invoice finalization.

(2) With respect to payment balances, JustOn provides a dedicated scheduled job. If set up accordingly, JustOn writes the corresponding bookkeeping data at the specified interval – ideally, on a daily basis.

Generally, the bookkeeping data is structured in booking details, which represent records in an accounting ledger, and grouped in booking periods, which represent one month in bookkeeping. The produced records can then be transferred to accounting systems like DATEV, SAP or Microsoft Dynamics via CSV export or, for DATEV, direct transfer.

This approach considerably facilitates your accounting processes: You can transfer the relevant data in a "clean" state. Your revenue and tax bookings already match your payment bookings. In addition, you can use booking texts – human-readable references to the operation from which the produced booking details originate. As a result, this makes account reconciliation a snap.

Example: Booking invoice and corresponding payment

Assume this example invoice:

Pos. Title Tax Rate Net Price
1 Some Goods 19% 1000
Subtotal Net 1000
Tax Amount 190
Grand Total 1190

From an accounting perspective, issuing the invoice and receiving the payment make the following posting records:

# Debit to Account Amount Credit to Account
1 Trade Receivables (Debtors) 1190,00 €
1000,00 € Revenues
190,00 € Taxes
2 Bank 1190,00 €
1190,00 € Trade Receivables (Debtors)

To this end, you configure four booking accounts in JustOn:

Booking Account Booking Detail Field Configuration
Revenues G/L Account Number G/L Account Number
Taxes G/L Account Number Collective Accounts
Trade Receivables (Debtors) Business Partner Account Number Enabling Contra Accounts
Bank G/L Account Number Collective Accounts

Following the example, JustOn creates three booking details:

# Amount Debit/Credit Flag Account Contra Account
1 1000,00 H (Credit) Revenues Trade Receivables (Debtors)
2 190,00 H (Credit) Taxes Trade Receivables (Debtors)
3 -1190,00 S (Debit) Bank Trade Receivables (Debtors)

For more details about booking detail generation, see Bookkeeping Data for Finalized Invoices and Bookkeeping Data for Payment Balances.

Once set up, JustOn automatically creates the booking details as required.

Exporting Bookkeeping Data

After JustOn has generated the bookkeeping data, you transfer it to your accounting system. To this end, JustOn can export specifically formatted CSV files to meet the target system's requirements.

Preparing the export usually comprises

  • Creating a specific JSON export configuration for the CSV file to be produced, and, depending on your requirements, adding custom fields to relevant objects
  • Define one or more dedicated custom settings Export Settings


    Consider creating two dedicated booking detail export settings: one for revenue and tax bookings based on invoices, and another one for payment bookings based on balances. This allows for separately exporting booking details for invoices and for payments, which may be required for your bookkeeping.

For details, see Configuring Booking Detail CSV Export.

Once set up, your users can export the data to be transferred any time they see fit. For details, see Exporting Booking Details. As an alternative, you can schedule the export to have JustOn produce the CSV files automatically on a regular basis. For details, see Scheduling Exports.

Handling Unrelated Payments

When fetching data from your bank, one payment transaction or another may not belong to an invoice produced by JustOn or any of your accounts, like your office rent, an employee's travel expenses, or some other, non-allocable payment. That is, there is no target to which you can assign the resulting payment entry.

One way to handle this is to have multiple bank accounts. You could use one exclusively for payments that relate to your business's deals and accounts, and, consequently, import only this bank account's data into JustOn for further processing. This would keep your records clean, of course, since all other transactions run through other bank accounts that you will not import.

But there is also the "JustOn approach":

(1) You create a dedicated Salesforce collective debtor account to collect these payments both in JustOn and in your accounting system. When doing so, make sure to set the booking account's number in the custom field ON_DebtorNo on the Salesforce account.

(2) On payment matching, JustOn will automatically

  • associate all payment entries that do not relate to any invoice, dunning or business-relevant account with this specific account
  • create payment (or payout) balances for these unrelated payment transactions

(3) As part of a (manual) clearing process, users can move the (originally) unrelated balances from the collective debtor account to a suitable customer account – even the matching invoice, if available.

(4) When generating the bookkeeping data, JustOn will create booking details for the balances – which you transfer to your accounting system. Once there, the resulting postings are assigned the dedicated booking account.

This way, you may still have to (manually) reconcile your accounts. But it will save you time and effort, since you do not need to fetch bookings multiple times from multiple sources.

For details, see Contra Accounts and Payment Balance Transfer.