Skip to content

Managing Payment Entries

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

Basically, there are three ways to acquire payment entries:

  • via an integration with an external payment provider, like PayPal or Stripe,
  • importing bank statements from CSV files or
  • retrieving banking transactions from figo.

Info

This documentation covers

  • the payment entry import from CSV files, and
  • the banking transaction retrieval from figo.

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

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.

If JustOn cannot find a matching invoice number, it compares the contents of the reference field with the account number. For further details, see Matching Logic.

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.

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 settles the oldest one first.

For payment entries assigned to dunnings, JustOn distributes the payment amount to the invoices referred to by the dunning. The oldest invoice of the dunning is settled first. In case of an overpayment, JustOn creates an account balance for the remaining amount.

Info

For information about payment entry data, refer to the Payment Entry object reference.

Importing CSV Payment Data

Payment Amount Calculation

When creating the payment entry from imported payment data, the effective payment amount is calculated 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

Info

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

Settling a credit of -10 €

Import

Credit Debit Payment Amount
10 -10

or

Credit Debit Payment Amount
-10 -10
Settling an invoice of 10 €

Import

Credit Debit Payment Amount
10 10

or

Credit Debit Payment Amount
-10 10

Starting CSV Payment Data Import

Note

Make sure that the CSV file import is configured according to your CSV file format. For details, see CSV Import Configuration.

  1. Open the Payment Entries tab.
  2. Click Import CSV File.

    pay_entry_import
    Selecting a CSV file for a payment data import

  3. Select the CSV file to be uploaded, and select the corresponding CSV import configuration.

    Optionally, specify the rows to be skipped during the import.

  4. Click Upload File.

    This starts the import process. The Info section shows the process progress.

    After the import is completed, JustOn displays the list of payment entries.

Import example

With the following CSV import configuration

1 BookingDate__c;2 Reference__c;3 Credit__c;4 Debit__c

you can import, for example, credits using this simple CSV file:

2017-10-12;2017-00023;150,00;0
2017-10-13;2017-00045;80,00;0
2017-10-16;2017-00078;260,00;0

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

Managing figo Banking Transactions

JustOn integrates with figo to retrieve banking transactions, which are to be stored as payment entries.

Info

The figo integration is available as of JustOn 2.55 and requires at least the Salesforce Enterprise Edition.

Prior to using the figo service, your organization must conclude a contract with figo.

Reference: figo Data Conversion

figo stores banking transactions in the figo Connect Transaction object. Upon data transfer, JustOn automatically maps the retrieved transaction JSON data to the Payment Entry object.

The following table shows which data is written to the payment entry.

Payment Entry Field Value Description
ExternalTransactionId__c FIGO + <transaction_id> External ID that is used to uniquely match a figo transaction
TransactionNo__c <transaction_id> Internal figo transaction ID
PaymentProvider__c figo Name of the payment provider
Status__c New Status for newly created objects
Debit__c <amount> if the value is positive The debit amount
Credit__c <amount> if the value is negative The credit amount
Reference__c <purpose> Purpose text, can be empty if the transaction has no purpose
CustomerName__c <name> Name of originator or recipient
BankAccountId__c <account_id> Internal figo account ID
BookingDate__c <booking_date> Booking date
ProviderSpecificData__c complete transaction JSON data The retrieved figo transaction JSON data for this object

The figo Connect Transaction Object JSON data contains a number of additional fields. JustOn can write additional data values to custom fields of the payment entry. Each JSON value is processed in the following way:

(1) The JSON field name is converted to a Salesforce field name, where

  • underscores are removed,
  • if the JSON value belongs to a child object, the field name is prefixed with the field name of the parent object, connected by an underscore,
  • the string FIGO_ is prepended,
  • the string __c is appended.

(2) If there is a matching field on the Payment Entry object, the field value is written to this field.

(3) The type of the Payment Entry field must match the type of the JSON field value, like Text (255) for bank_name, Currency for amount or Date for value_date. JustOn automatically converts the JSON value to the type of the Payment Entry field.

Example field conversions

JSON Field Salesforce field name Type
account_number FIGO_AccountNumber__c Text (255)
value_date FIGO_ValueDate__c Date
end_to_end_reference FIGO_EndToEndReference__c Text (255)
additional_info.gross_amount FIGO_AdditionalInfo_GrossAmount__c Currency (13,5)

When retrieving figo transactions from the banking server, the response may contain a list of deleted transactions. For these transactions, JustOn also creates payment entries with the following data:

Payment Entry Field value Description
ExternalTransactionId__c FIGO + <transaction_id> External ID that is used to uniquely match a figo transaction
TransactionNo__c <transaction_id> Internal figo transaction ID
PaymentProvider__c figo Name of the Payment Provider
Status__c New Status for newly created objects
IsDeleted__c true Indicates that the corresponding transaction is deleted

Retrieving figo Banking Transactions

Note

Make sure that the button Retrieve figo Transactions is available on the payment entry list view, see Adding Data Retrieval Button.

Before processing your banking transaction data, you must retrieve them from the banking service. You can retrieve transactions for a specific bank account and period. JustOn stores each transaction as a payment entry record.

Info

If a payment entry with the same figo transaction ID has already been retrieved, it is updated.

  1. Open the Payment Entries tab.
  2. Select a list view.

    Note that the list view Recently Viewed does not display the button Retrieve figo Transactions.

  3. Click Retrieve figo Transactions.

    To access your banking service account, you must authenticate yourself to provider.

    If you retrieve transactions for the first time or if your authentication has expired, you are redirected to the figo login page:

    1. Specify your figo credentials.
    2. Select the bank accounts that you want to access.
    3. Click Connect.

      This redirects you the Retrieve figo Transactions page.

  4. On the Retrieve figo Transactions page, select the bank account from which you want to retrieve the transactions.

    You can specify a figo Transaction Filter for each account or figo Transaction Content Filters to filter the retrieved transactions by its contents. If available, the filters are applied automatically when retrieving transactions.

  5. Define the period for which you want to retrieve the transactions.

    • For the period start, you can either select the checkbox Start with transactions since last transfer or specify a date.

      If you leave the start date empty or have selected Start with transactions since last transfer without existing transactions for the selected period, the retrieval starts with the first available transaction.

    • For the period end, you can specify a date. If not set, the current date is used by default.

  6. Click Retrieve.

    This retrieves the banking transactions for the specified account and the specified period from the bank server and creates the corresponding payment entries. The field Payment Provider of the produced payment entries is set to figo.

Info

If there is a large number of transactions to be transferred, JustOn recommends to retrieve the transactions in smaller packages. Select the checkbox Start with transactions since last transfer and specify a reasonable end date in the past. This limits the number of retrieved transactions to a manageable amount. Then select a later end date and repeat the retrieval until all transactions are retrieved.

Deleting figo Payment Entries

You can select and delete payment entries retrieved from banking transactions.

For your convenience, the Delete Payment Entries page allows for creating figo Transaction Content Filters automatically based on your selection. JustOn displays the options for creating the filters if at least one payment entry that has been created by a figo transcation retrieval is selected for deletion.

Info

You can adjust the payment entry list view to show only payment entries that have been created from banking transactions, using the field Payment Provider, which is set to figo, as a filtering criterion.

  1. Open the Payment Entries tab.
  2. Select a list view.

    Note that the list view Recently Viewed does not display the button Delete.

  3. Select the checkboxes next to the payment entries you want to delete.

  4. Click Delete.

    Leaving all checkboxes unmarked deletes all entries. Note that in this case, the content filter creation is not available.

  5. Optionally, configure the content filter creation on the Delete Payment Entries page.

    1. Select the Create Transaction Content Filter checkbox to enable the filter creation.
    2. Define the filter condition.

      Select whether the payment entry field CustomerName__c or Reference__c is used for the filter creation.

      JustOn creates a filter for each unique value of the selected payment entry field, except there is already a corresponding filter.

    3. Select the Delete all matching Payment Entries checkbox to apply all new and existing active filters to all retrieved figo-based payment entries.

      If, for example, you create a filter with the content John Doe, then JustOn will delete all existing payment entries that match the content John Doe, even if you have not selected them for deletion.

      Following the options section, the Delete Payment Entries page shows a table that lists the new and existing filters that match the selected payment entries. For new filters, the table allows to edit the filter name (by default, the first 30 characters of the filter content value) as well as to deactivate the filter. Existing filters cannot be modified.

  6. Click Continue.

    This deletes the selected payment entries and, if the option Delete all matching Payment Entries is selected, also all other figo-based payment entries that match the active new and existing filters.

Forcing figo Authorization

You can force the authorization to the figo banking server before retrieving transactions or to redo an existing authorization, for example, if you need to access other bank accounts.

Note

Make sure that the button Force figo Authorization is available on the payment entry list view, see Adding Authorization Button.

  1. Open the Payment Entries tab.
  2. Select a list view.

    Note that the list view Recently Viewed does not display the button Force figo Authorization.

  3. Click Force figo Authorization.

    You are redirected to the figo login page:

    1. Specify your figo credentials.
    2. Select the bank accounts that you want to access.
    3. Click Connect.

    This redirects you to the Payment Entries tab.

Matching Payment Entries

Matching Logic

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.

The matching process involves multiple passes.

The basic procedure compares the payment entry Reference content with invoice fields. To this end, JustOn ships pre-defined matching settings for the invoice number and the account number:

Name Field Active Source
Invoice Number Name (= Invoice No.) Invoice__c
Account Number Account__r.AccountNumber Invoice__c

Should this pass yield no results, a second one is performed: JustOn searches fields of related objects in order to find the correct invoice, like a customer number from the account.

Note that the order of the matching field definitions is irrelevant to the matching process. In the first pass, all invoice fields are examined, in the second pass all other fields.

Info

For the payment matching to succeed,

  • avoid specifying multiple invoices per payment operation, and
  • prevent line breaks, space characters or semicolons from breaking the invoice number in the reference string.

Importing payment entries as output by accounting systems (rather than bank statements) helps facilitate the payment matching in JustOn.

In some cases, a payment entry may increase an open invoice amount, for example, with return debits or chargeback fees. Usually, JustOn does not match payment entries with invoices if this would increase the open invoice amount. You can, however, force JustOn to do so using the force matching option when executing the matching or assignment procedure.

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.

Info

For details about customizing the matching logic, see Payment Matching Fields.

Executing Matching Procedure

Note

Make sure that the matching fields are configured according to your payment data and target object. For details, see Payment Matching Fields.

To execute the automatic matching process:

  1. Open the Payment Entries tab.
  2. From the list view picklist, select New.
  3. Select the checkboxes next to the payment entries you want to match to target objects.

    Not explicitly selecting payment entries includes all listed payment entries.

  4. Click Match.

  5. Select the checkboxes next to the targets to which you want to match the selected payment entries.
  6. Optionally, select the checkbox Force matching regardless of amount examinations to force matching and skip the amount test.

    If you enable the force matching feature, you must check the match result precisely. If matches are not created as intended, modify the reference and repeat the matching process.

  7. Click Continue.

    This executes the automatic matching process.

Note

Use the force matching feature with caution. If enabled, the matching process may not yield the best result.

Consider the following example:

PaymentEntry: {Reference: ACC-12345 ..., PaymentAmount: 2088.12}
    Invoice1: {Account:ACC-12345, Name: AB-2013-00001, Balance: 2088.12}
    Invoice2: {Account:ACC-12345, Name: AB-2013-00002, Balance: -3088.12}

If the force matching feature is disabled, PaymentEntry definitely matches Invoice1.

With the force matching feature enabled, however, it is possible that PaymentEntry matches Invoice2.

Executing Assignment Procedure

Info

The assignment procedure executes a matching process before actually assigning the payment entries to invoices.

If you enable the force matching feature, you must check the match result precisely. To this end, execute a matching process before actually assigning payment entries.

If matches are not created as intended, modify the reference and repeat the matching process. Once all matches are created correctly, you can proceed to the assigning process.

To finally assign matched payment entries to target objects:

  1. In the Payment Entries tab, select Matched from the list view picklist.
  2. Review the matches.
  3. Select the checkboxes next to the payment entries you want to assign to target objects.

    Not explicitly selecting payment entries includes all listed payment entries.

  4. Click Assign.

  5. Select the checkboxes next to the targets to which you want to assign the selected payment entries.
  6. Optionally, select the checkbox Force matching regardless of amount examinations to force matching and skip the amount test.
  7. Click Continue.

    This creates balance records of the type Payment, assigned to the corresponding target objects, and sets the selected payment entries to the status Converted.

Info

JustOn checks existing balance records for the specified payment provider and transaction no. If Payment Provider is set to figo and the value of Transaction No. matches the value of Transaction No. of the retrieved payment entry, the balance record is considered a "figo balance" and therefore subject to the following procedure:

  • If there is already an existing balance record that matches the retrieved payment entry, JustOn sets the payment entry to the status Converted but does not create a new balance record. This prevents duplicate payment matching.
  • If the Is Deleted checkbox on the payment entry is selected and a balance object that matches the payment entry exists, JustOn deletes the balance record and sets the payment entry to the status Converted.