Setting Up JustOn Cash Management
Info
JustOn Cash Management requires at least the Salesforce Enterprise Edition.
Setting up JustOn Cash Management involves the following tasks:
- Installing JustOn Cash Management
- Enabling app access
- Assigning permissions
- Enabling access to the Global Configuration dialog
- Creating remote site
- Enabling Lightning runtime for flows
- Defining platform integration user
- Defining organization web link alias
- Integrating with third-party application
Optional setup steps may include:
- Configuring the payment run
- Configuring the SEPA payment run
- Adding required payment statuses
- Adding required matching result values
- Enabling large error reports
- Adding the button EBICS Credit Transfer to the Entry list view
- Adding the button Retrieve to the Bank Statement list view
- Adding the button Settle Automatically to the Bank Statement Item list view
- Adding fields for enabling SEPA batch bookings
- Enabling chargeback-relevant fields to the Bank Statement Item detail view
- Enabling the entry cancellation
Depending on your intended use cases, you can then proceed to
Installing JustOn Cash Management
- Open the app listing in Salesforce AppExchange to get JustOn Cash Management.
- Click Get It Now to invoke the installation procedure.
-
Follow the instructions and provide the required information as necessary.
When prompted, choose the option Install for Admins Only.
Why installing for admins only?
For installing JustOn Cash Management, we strongly recommend to choose the option Install for Admins Only. This requires to set the appropriate permissions for the users in your org manually, using the permission sets shipped with the JustOn Cash Management package.
This approach, however, has important advantages:
- Permission sets allow accessing objects and object fields, that is, they control which data users can see and edit. This way, users can do their job without seeing data they do not need to see, which helps to minimize the risk of abuse and loss of data.
- Using the permission sets makes sure that JustOn Cash Management works consistently as intended. Since the permission sets are included with the JustOn Cash Management package, they are upgraded as new objects or fields, Visualforce pages etc. are added with new JustOn Cash Management releases.
Enabling App Access
JustOn Cash Management provides two Salesforce apps: the Lightning Experience App Cash Management and the Connected App JustOn Payments Connected (see App Overview). For JustOn Cash Management to work properly, make sure to enable the access to the two apps for all users who will work with JustOn Cash Management.
Enabling App Access for Cash Management
The access to the Cash Management app is controlled using profiles. So when creating the users who will work with JustOn Cash Management, you must assign the relevant profile to each of them. You can use the standard profiles or create custom profiles.
To enable access to the Lightning Experience App Cash Management for all relevant profiles:
- Click to enter Setup, then navigate to Apps > App Manager.
- In the row of Cash Management, click to open the action menu, then select Edit.
- Navigate to User Profiles.
-
Select the required profiles and move them to the Selected Profiles column.
-
Click Save.
This makes Cash Management available for the selected user profiles in the App Launcher.
Enabling App Access for JustOn Payments Connected
The access to the JustOn Payments Connected app is controlled using profiles. So when creating the users who will work with JustOn Cash Management, you must assign the relevant profile to each of them. You can use the standard profiles or create custom profiles.
To enable access to the Connected App JustOn Payments Connected for all relevant profiles:
- Click to enter Setup, then navigate to Apps > Connected Apps > Manage Connected Apps.
- Click Edit in the row of JustOn Payments Connected.
-
In the
Permitted Users
field, selectAdmin approved users are pre-authorized
.Confirm the selection when prompted.
-
Click Save.
This will prevent all users from accessing JustOn Payments Connected, including org admins.
-
On the Connected Apps list, click JustOn Payments Connected.
This displays the app detail page.
-
Add the intended profile.
- In the Profiles section, click Manage Profiles.
- Select the relevant profile, at least,
System Administrator
. - Click Save.
Note
JustOn Cash Management allows only users with the associated profile to access the app, which relies on the option Admin approved users are pre-authorized
in the Permitted Users
field. Leaving the default value All users may self-authorize
will prevent users from accessing the app and produce the following error:
Platform not available, please contact customer support if the problem persists!
Assigning Permissions
The package provides the permission set JustOn Payments Read/Write, which allows users to
- Access the Lightning Experience App Cash Management
- Create and edit records of the objects delivered with the JustOn Cash Management package
Info
Be aware of the following specifics:
- JustOn recommends not to alter the Salesforce default access setting
Public Read/Write
(as part of the sharing settings) for the Account object. If your business requires to do so, however, make sure to assign Write access to the users or profiles that create or update invoices. - If you bundle JustOn permission sets in permission set groups, always make sure their status is
Updated
. This indicates that the bundled permissions are up-to-date.
Assign the permission set to all users who will work with JustOn Cash Management. To do so:
- Click to enter Setup, then navigate to Users > Permission Sets.
- Click JustOn Payments Read/Write.
- Click Manage Assignments, then Add Assignments.
- Select the checkboxes next to the users who will work with JustOn Cash Management.
-
Click Next.
If applicable, specify an assignment expiration option.
-
Click Assign.
Note
All users who work with JustOn Cash Management must be enabled to use the Salesforce API via their profile or a permission set. This is necessary to allow calling business logic on the Heroku-based platform (see App Overview).
To check for the API access in profiles or permission sets, click to enter Setup, then navigate to Users > Profiles | Permission Sets > Profile/Permission Set Name > System Permissions, and make sure that API Enabled
is selected.
Enabling Global Configuration Access
In addition to be assigned the System Administrator profile, users who intend to access the global configuration must be explicitly allowed to access the Global Configuration dialog – preferably, using a dedicated permission set.
To enable the access to the Global Configuration dialog:
-
Create a dedicated permission set.
For details, see Create Permission Sets in the Salesforce Help.
-
In the new permission set, click Flow Access in the Apps section.
- Click Edit.
-
Select
JPAY1.Global Configuration
and move it to the Enabled Flows column. -
Click Save.
-
Assign the permission set to the relevant users.
For details, see Assign Permission Sets to a Single User in the Salesforce Help.
Together with the System Administrator profile, this makes the Global Configuration dialog available for the selected users.
Creating Remote Site
Some list views, like on the Entries tab, in JustOn Cash Management may become very large. To allow executing operations from large list views, for example creating direct debit orders, JustOn Cash Management has to call Salesforce's REST API. To this end, you must allowlist your site as a remote site.
-
Click to enter Setup, then open Remote Site Settings.
In Salesforce Lightning, navigate to Security > Remote Site Settings.
In Salesforce Classic, navigate to Security Controls > Remote Site Settings.
-
Click New Remote Site.
-
Provide a descriptive name.
The provided name must be unique and can only contain alphanumeric characters and underscores.
-
Specify the URL of your current instance as required, like
https://eu5.salesforce.com
.Do not specify the My Domain subdomain but the instance URL. Find the instance part of the URL on the Company Information page in Setup, or use
nslookup <my-domain>.my.salesforce.com
in a terminal window (as explained in View instance information for your Salesforce Organization in the Salesforce Help). -
Click Save.
Enabling Lightning Runtime for Flows
Some operations, like creating direct debit orders, are implemented as Salesforce flows. To support all relevant functionality, enable the Lightning runtime for flows.
- Click to enter Setup, then navigate to Process Automation > Process Automation Settings.
- Select the checkbox
Enable Lightning runtime for flows
. - Click Save.
Defining Platform Integration User
JustOn Cash Management exposes websites via Heroku, like the payment page or the API. All data management, however, takes place on Salesforce, as explained in App Overview.
Your business use cases may involve relevant features. In this case, you must define a platform integration user. This is a (technical) user that is employed for the communication between Salesforce and Heroku whenever a real user triggers relevant business logic via these websites.
To define an integration user:
-
Optionally, create a dedicated technical user for the integration.
The integration user
- does not necessarily need to be associated with a real person
- must be assigned the permission set JustOn Payments Read/Write
- must be enabled to use the Salesforce API via a profile or a permission set
To check for the API access in profiles or permission sets, click to enter Setup, then navigate to Users > Profiles | Permission Sets > Profile/Permission Set Name > System Permissions, and make sure that
API Enabled
is selected. -
Click to access the App Launcher, and select Cash Management.
-
Open the Global Configuration tab.
Users who intend to access the global configuration must be assigned the System Administrator profile and explicitly allowed accessing the Global Configuration dialog.
-
Click Edit.
This launches a screen flow that shows the global configuration input fields.
-
In the Platform Integration section, select the intended integration user in the
New User
field. - Click Save to save your settings, then Finish to complete the screen flow.
Defining Organization Web Link Alias
Some operations involve user-facing web links, like the payment page or the API. In order to produce unique links that are specific to your organization, you define an alias for your organization (a tenant on Heroku), which will then be part of the URL path, like
https://payment.juston.cloud/pay/:link-id/to/:tenant
To define the URL alias:
- Click to access the App Launcher, and select Cash Management.
-
Open the Global Configuration tab.
Users who intend to access the global configuration must be assigned the System Administrator profile and explicitly allowed accessing the Global Configuration dialog.
-
Click Edit.
This launches a screen flow that shows the global configuration input fields.
-
In the Platform Integration section, specify the intended alias in the
New URL Alias
field.The allowed characters include
a-z
,0-9
,-
,_
. The alias must not start with-
or_
and can include up to 20 characters. -
Click Save to save your settings, then Finish to complete the screen flow.
Integrating With Third-Party Application
Remember that the business operations in JustOn Cash Management are centered around entries. They represent receivables and payables, and are based on statements that justify the corresponding request – like an invoice, installment, order, credit note, etc.
This is why setting up JustOn Cash Management usually involves an integration with a "counterpart" application in your environment. You need (at least) a way to create entries based on your statements that entail receivables and payables. Note, however, that this integration is not covered with this documentation, as it is project-specific and cannot be generalized.
Info
For details about enabling JustOn Cash Management in JustOn Billing & Invoice Management, see Enabling JustOn Cash Management.
Optional Setup Tasks
Setting up JustOn Cash Management may include additional, optional tasks. This may be necessary for specific business use cases or if you have upgraded JustOn Cash Management from an older version.
Optional setup steps may include:
- Configuring the payment run
- Configuring the SEPA payment run
- Adding required payment statuses
- Adding required matching result values
- Enabling large error reports
- Adding the button EBICS Credit Transfer to the Entry list view
- Adding the button Retrieve to the Bank Statement list view
- Adding the button Settle Automatically to the Bank Statement Item list view
- Enabling SEPA batch booking control
- Enabling chargeback-relevant fields to the Bank Statement Item detail view
- Enabling the entry cancellation
Configuring Payment Run
JustOn Cash Management can execute payment runs in order to automatically collect payments on a regular basis.
Scheduling Payment Run
JustOn Cash Management provides the dedicated Apex class PaymentRunJob, which is to be scheduled using the standard Salesforce Schedule Apex functionality.
-
Click to enter Setup, then open Apex Classes.
In Salesforce Lightning, navigate to Custom Code > Apex Classes.
In Salesforce Classic, navigate to Develop > Apex Classes.
-
Click Schedule Apex on top of the list.
-
Specify the details as required.
- Job Name, like
Payment Run Job
- Apex Class:
PaymentRunJob
- Frequency:
Weekly
orMonthly
(with an according weekday or day of month setting) - Start
-
End
Required, so if you want it to run virtually forever, select a date far in the future.
-
Preferred Start Time
- Job Name, like
-
Click Save.
This sets up the payment run to be executed at the specified time.
Ad hoc execution
Certain circumstances may require to execute the payment run on an ad hoc basis. To this end, you can execute the Apex class using a flow whenever required.
-
Create a flow to call the Apex class PaymentRunJob.
- Click to enter Setup, then navigate to Process Automation > Flows.
- Click New Flow.
- Select
Screen Flow
and click Create. -
Click and add the following Action element.
Option Value Action Execute Payment Run
Specify a label and an API name as required.
-
Click Save.
Specify a label and an API name as required.
-
Execute the payment run flow.
- Open the payment run flow in the Flow Builder or the detail view.
- Click Run.
This will immediately execute the payment run.
Adjusting Payment Run Retry Threshold
If a payment provider causes too many (by default, 10) temporary failures in consecutive payment runs, JustOn Cash Management will deactivate it. To define the deactivation threshold according to your org's requirements:
- Click to access the App Launcher, and select Cash Management.
-
Open the Global Configuration tab.
Users who intend to access the global configuration must be assigned the System Administrator profile and explicitly allowed accessing the Global Configuration dialog.
-
Click Edit.
This launches a screen flow that shows the global configuration input fields.
-
In the Payment Provider Configuration section, specify the intended value in the
Retry Threshold
field.The threshold defined here will apply to all payment providers.
-
Click Save to save your settings, then Finish to complete the screen flow.
Configuring SEPA Payment Run
JustOn Cash Management can execute SEPA payment runs in order to automatically initiate bank transfers on a regular basis.
To this end, JustOn Cash Management provides two dedicated Apex classes
- DirectDebitPaymentRunJob for SEPA Direct Debit, and
- CreditTransferPaymentRunJob for SEPA Credit Transfer.
These Apex classes are to be scheduled using the standard Salesforce Schedule Apex functionality.
Note
Users who intend to schedule a SEPA payment run must be able to access the relevant EBICS bank account credential record. There are two ways to achieve this:
- The user is the owner of the relevant EBICS bank account credential record, or
- The relevant EBICS bank account credential record is not locked to the user who has created it (see How to share bank access configurations with other users?)
-
Click to enter Setup, then open Apex Classes.
In Salesforce Lightning, navigate to Custom Code > Apex Classes.
In Salesforce Classic, navigate to Develop > Apex Classes.
-
Click Schedule Apex on top of the list.
-
Specify the details as required.
- Job Name, like
Direct Debit Job
orCredit Transfer Job
, respectively -
Apex Class:
DirectDebitPaymentRunJob
for SEPA Direct DebitCreditTransferPaymentRunJob
for SEPA Credit Transfer
-
Frequency:
Weekly
orMonthly
(with an according weekday or day of month setting) - Start
-
End
Required, so if you want it to run virtually forever, select a date far in the future.
-
Preferred Start Time
- Job Name, like
-
Click Save.
This sets up the SEPA payment run to be executed at the specified time.
Enabling Payment Statuses
To enable specific operations on payments, you may have to add the required Status
values manually if you have upgraded JustOn Cash Management from an older version. To do so:
- Click to enter Setup, then navigate to the object management settings of the Payment object (
JPAY1__Payment__c
). - Click Fields & Relationships.
- Click the name of the
Status
field. -
In the Values section, click New.
Add the relevant status values, like
Canceled
,Failed
,Pending
, each in a new line. -
Click Save.
This saves the specified status values as required.
For details about modifying the values of picklist fields, see Add or Edit Picklist Values in the Salesforce Help.
Enabling Payment Matching Results
If you have upgraded JustOn Cash Management from a pre-1.28 version, you may have to add the required values to the Matching Result
picklist of the Payment object manually in order to make the payment matching operational. To do so:
- Click to enter Setup, then navigate to the object management settings of the Payment object (
JPAY1__Payment__c
). - Click Fields & Relationships.
- Click the name of the
Matching Result
field. -
In the Values section, click New.
Add the relevant status values, like
Payment Id matched
, each in a new line.For a list of required values, see the description of the
Matching Result
field in the Payment object reference. -
Click Save.
This saves the specified status values as required.
For details about modifying the values of picklist fields, see Add or Edit Picklist Values in the Salesforce Help.
Enabling Matching Configuration Search Templates
If you have upgraded JustOn Cash Management from a pre-1.24 version, you may have to add the value FindEntryByCustomField
to the Template
picklist of the Matching Configuration object manually in order to enable the new matching configuration type Entry by custom field
.
- Click to enter Setup, then navigate to the object management settings of the Matching Configuration object.
- Click Fields & Relationships.
- Click the name of the
Template
field. -
In the Values section, click New.
Add the new search template API Name
FindEntryByCustomField
.For a list of required values, see the description of the
Template
field in the Matching Configuration object reference. -
Click Save.
- Click Edit in the row of the new picklist value.
- In the
Label
field, specify the nameEntry by custom field
. -
Click Save.
This saves the specified search template value as required.
For details about modifying the values of picklist fields, see Add or Edit Picklist Values in the Salesforce Help.
Enabling Large Error Reports
In case of communication errors between Heroku, Salesforce and third-party systems, JustOn Cash Management writes error reports. The relevant information is saved to the Details
field of the dedicated Error Report records. The field length is limited to 131.072 characters. If the information exceeds this limit, JustOn Cash Management writes the complete error report to a file, which is attached to the corresponding Error Report record. You can access the attached error report file via the Files related list on the relevant Error Report record.
If you have upgraded JustOn Cash Management from a pre-1.32 version, you must add the Files related list to the Error Report detail view manually. This enables error reports that are larger than 131.072 characters.
To add the Files related list to the Error Report detail view:
-
Navigate to the object management settings of the Error Report (JPAY1__ErrorReport__c) object.
Click to open the Setup menu and select Setup, then open Objects and Fields > Object Manager > Error Report.
-
Click Page Layouts.
- Click Edit in the row of the layout you intend to modify.
- Select the Related Lists palette.
- Drag the Files list to the Related Lists section.
-
Click Save.
This adds the Files related list to the Error Report detail view. This enables error reports that are larger than 131.072 characters.
Enabling Credit Transfer
To enable the option for creating credit transfer orders, you may have to add the button EBICS Credit Transfer to the Entry list view manually. To do so:
- Click to enter Setup, then navigate to the object management settings of the Entry object.
- Click List View Button Layout.
- In the List View row, click , then select Edit.
-
Under Custom Buttons, move
EBICS Credit Transfer
to the Selected Buttons column. -
Click Save.
Enabling Bank Statement Download
To enable the option for starting the bank statement download, you may have to add the button Retrieve to the Bank Statement list view manually. To do so:
- Click to enter Setup, then navigate to the object management settings of the Bank Statement object.
- Click List View Button Layout.
- In the List View row, click , then select Edit.
-
Under Custom Buttons, move
Retrieve
to the Selected Buttons column. -
Click Save.
Enabling Settlement From Bank Statement Items
To enable the option for starting the automatic settlement from a list of bank statement items, you may have to add the button Settle Automatically to the Bank Statement Item list view manually. To do so:
- Click to enter Setup, then navigate to the object management settings of the Bank Statement Item object.
- Click List View Button Layout.
- In the List View row, click , then select Edit.
-
Under Custom Buttons, move
Settle Automatically
to the Selected Buttons column. -
Click Save.
Enabling SEPA Batch Booking Control
SEPA Direct Debit and SEPA Credit Transfer allow to combine multiple transactions using a Batch Booking
parameter. This setting controls how the combined transactions are displayed on bank statements – usually, batched transactions appear as one bank statement item. Organizations use this option to avoid information disclosure.
Be aware that banks still process batched transactions individually. The subsequent handling does not change: each transaction results in a single payment, whether it is part of a batch or not.
To enable the option for enabling SEPA batch bookings for a bank account, you may have to add the corresponding picklist fields SEPA Direct Debit Batch Booking
, SEPA Credit Transfer Batch Booking
and Initial Payment Status
to the Bank Account layout manually if you have upgraded JustOn Cash Management from an older version. To do so:
- Click to enter Setup, then navigate to the object management settings of the Bank Account object.
- Click Page Layouts.
- In the Bank Account Layout row, click , then select Edit.
- Drag the fields
SEPA Direct Debit Batch Booking
,SEPA Credit Transfer Batch Booking
andInitial Payment Status
to the page layout. -
Click Save.
This adds the picklist fields to the bank account detail view, enabling users to control the batch booking creation for an individual bank account.
Enabling Chargeback Information Display
When using SEPA Direct Debit, return debits or other chargeback operations may occur if a direct debit transaction cannot be carried out or is rejected by the debtor. In this case, the debtor's bank will reverse the original direct debit – returning the corresponding amount to the debtor. This produces a credit to the debtor's account and a debit to the creditor's account. Any banking fees will also be charged to the creditor.
JustOn Cash Management uses specific amount fields to indicate the instructed (originally initiated) amount, the transaction amount, cumulated charges and the effective amount on bank statement items.
Field | Description |
---|---|
Cumulated Charges | Sum of charges that are included in the current banking transaction. |
Effective Amount | The absolute amount without charges and interests. If set, will be used for further processing instead of Total Amount . |
Instructed Amount | The originally initiated amount before charges deduction. The currency may differ from the reported currency. |
Transaction Amount | The amount of money moved in the current banking transaction plus internal charges. External charges are not included. |
If required by your business, you may have to add the chargeback-related amount fields to the Bank Statement Item detail view manually. To do so:
- Click to enter Setup, then navigate to the object management settings of the Bank Statement Item object.
- Click Page Layouts.
- In the Bank Statement Item Layout row, click , then select Edit.
- Drag the fields
Cumulated Charges
,Effective Amount
,Instructed Amount
andTransaction Amount
to the page layout. -
Click Save.
This adds the chargeback-related amount fields to the bank statement item detail view.
Enabling Entry Cancellation
If you have upgraded JustOn Cash Management from a pre-1.38 version, you may have to take several manual steps in order to enable the entry cancellation:
- Adding the status
Canceled
to the Entry object - Deactivating the deprecated process
Set Entry Status
- Adding the button Cancel to the Entry detail view
- Adding the cancellation-relevant fields to the page layout of the Entry object
Enabling Entry Status Canceled
To add the value Canceled
to the Status
picklist of the Entry object:
- Click to enter Setup, then navigate to the object management settings of the Entry object.
- Click Fields & Relationships.
- Click the name of the
Status
field. -
In the Values section, click New.
Add the new status value
Canceled
. -
Click Save.
This saves the new status value
Canceled
as required.For details about modifying the values of picklist fields, see Add or Edit Picklist Values in the Salesforce Help.
Deactivating Deprecated Entry Process
To deactivate the deprecated process Set Entry Status
:
- Click to enter Setup, then navigate to Process Automation > Process Builder.
- Click next to
Set Entry Status
to display all process versions. -
For all active versions of the process, click Deactivate, then Confirm to confirm the operation.
This deactivates the current process version.
Make sure to deactivate all active versions of the
Set Entry Status
process.
Enabling Entry Cancellation From the UI
Your business may require to enable the entry cancellation from the user interface. To this end, you can, optionally, add the button Cancel to the Entry detail view manually. To do so:
- Click to enter Setup, then navigate to the object management settings of the Entry object.
- Click Page Layouts.
- In the Entry Layout row, click , then select Edit.
-
Add the Cancel button to the page layout.
In Salesforce Lightning, drag the button from the Mobile & Lightning Actions palette to the Salesforce Mobile and Lightning Experience Actions section.
In Salesforce Classic, drag the button from the Buttons palette to the Custom Buttons area.
-
Click Save.
Adding Cancellation Fields to Entry
Your business may require to allow users managing cancellation-relevant information in the user interface. To support this, you can, optionally, add the fields Cancellation Reason
, Cancellation ID
, Cancellation No
and Cancellation Distribution Url
to the page layout of the Entry object. To do so:
- Click to enter Setup, then navigate to the object management settings of the Entry object.
- Click Page Layouts.
- In the Entry row, click , then select Edit.
- Drag the fields
Cancellation Reason
,Cancellation ID
,Cancellation No
andCancellation Distribution Url
to the page layout. -
Click Save.
This adds the cancellation-related fields to the Entry detail view.