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:
- Capture payment transactions from external systems
- Assign payment entries to invoices
- Prepare bookkeeping data for accounting systems
- Export bookkeeping data
- Handling unrelated payments
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:
|Credit||For deposits from customers. An empty value equals 0.|
|Debit||For payouts to customers. An empty value equals 0.|
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).
2019-10-12;201900023;150,00;0 2019-10-13;201900045;260,00;0 2019-10-16;201900078;0;80,00
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:
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.
Date;Type;Reference;Recipient/Payer;Account;Amount;Currency 2019-10-12;standing order;201900023;Firma;DE75512108001245126199;150,00;EUR 2019-10-13;direct debit;201900045;Individuel;FR7630006000011234567890189;260,00;EUR 2019-10-16;credit;201900078;Zadruga;BA393385804800211234;-80,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:
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
- 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
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 Providermust be either empty or set to
- 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.
- In case of a chargeback, JustOn includes invoices of the statuses
Canceledto 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|
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.
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|
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 €|
|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|
||Revenues||Trade Receivables (Debtors)|
||Taxes||Trade Receivables (Debtors)|
||Bank||Trade Receivables (Debtors)|
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.