Payments/Payouts Concepts

payment_app_intro JustOn Cash Management is a Salesforce app that integrates Salesforce CRM with European banks and payment service providers. The app allows you to trigger payments and track payment information related to your business with customers.

You will be able to prepare and execute payment operations based on your orders, invoices or other statements that involve payments or payouts, as well as to retrieve information on processed payments and to associate it with the corresponding accounts receivable or accounts payable. Broadly speaking, JustOn Cash Management helps reconcile accounts.

Understanding Payments

Businesses sell and purchase products and services. These operations involve payments or payouts – generally, money due to receive from buyers for a sale, or due to pay to suppliers for a purchase. Specific use cases may also involve credits or refunds.

pay_app_payment

Payments/Payouts in JustOn Cash Management

JustOn Cash Management summarizes receivables and payables as entries, based on which you trigger the relevant payment operations. Technically, you process the payments or payouts via

In this context, the following objects are important:

Payment
JustOn Cash Management uses payment records to track a money transfer and its status, see Payment Lifecycle.
Payment item
A payment item represents the recorded money transfer operation for a payment processed via a payment provider.
Bank statement item
A bank statement item represents the recorded money transfer operation for a payment processed via a bank using EBICS.
Bank statement
A bank statement represents the daily summary of bank statement items for one bank account.
JustOn Cash Management can retrieve banking data up to the day before the current date.

In addition, the following objects are relevant to hold the data that is required for processing collections and payouts:

Business entity
The business entity represents the legal entity or organization "doing business".
Payment instrument
A payment instrument is a SEPA mandate or a credit card handle that allows the business entity to collect or pay out money from or to a customer.
Payment instruments can explicitly allow or restrict an incoming or outgoing (from the business's perspective) money flow. This way, your accounts can have dedicated payment instruments for debits, credits or refunds.
Field Description
Money Flow Incoming Money flow restriction for incoming money (→ collecting receivables), can be unrestricted (default) or disallowed
Money Flow Outgoing Money flow restriction for outgoing money (→ settling payables or return claims), can be unrestricted, refund-only or disallowed

To indicate the "health status", JustOn Cash Management saves the last captured amount and the corresponding timestamp to a payment instrument.

Field Description
Last Capture Amount The amount to be captured, is set on direct debit/credit transfer job or on payment initialization via payment provider
Last Capture Time The timestamp of the last initialized capture event, is set on direct debit/credit transfer job or on payment initialization via payment provider
Last Successful Capture Amount The captured amount, is set on successful collection (end-to-end matching for SEPA payments or success message from PSP)
Last Successful Capture Time The timestamp of the last successful capture event, is set on successful collection (end-to-end matching for SEPA payments or success message from PSP)
Payment provider
The payment provider represents a service provider that executes collections and payouts (accepts and processes payment operations) on behalf of the business entity.
Bank account
Bank account records hold all relevant information on actual bank accounts, through which business entities can execute EBICS-based transactions.

For an overview of all objects that are relevant for JustOn Cash Management, see Object Model.

Payment Lifecycle

Payment records track money transfer operations that take place in external systems – banks and payment service providers (PSP). The integration makes sure that externally recorded operations are "translated" to the Payment data model, resulting in updates to the status and amount values. JustOn Cash Management operates on the payment records, which allows to separate the integration from the business logic.

pay_app_pay_norm

Payment Types

Depending on the intended operation – settling receivables or payables –, payments can be of two types:

  • Payment – intended to settle receivables, recorded amounts with this respect are negative values
  • Payout – intended to settle payables, recorded amounts with this respect are positive values

Payment Statuses

According to the payment operation phases, the payment status changes:

Payment Phase Payment Status Description
Preparation
No interaction with the bank or PSP
Open Customer has interacted with the payment page
Canceled Business or customer have canceled the payment operation
Capture
Request to the bank or PSP is sent, money has not been collected yet
Pending Request has been sent to the PSP
Issued Request has been sent to the bank
Canceled Business or customer have canceled the payment operation
Rejected Payment has not been accepted by the PSP or bank
Collection
Money has been received
Collected Money has been moved from the debtor to the business' bank account or from the business' bank account to the creditor
Late Changes
Refunds and chargebacks may take place
Reversed A chargeback over the complete amount has taken place
Refunded A refund over the complete amount has taken place
Sunset
No changes to the payment expected
Final The payment is no longer subject to changes.
Future refund operations must be tracked using a new payment record.

Payment Amount Values

With respect to the payment lifecycle, the following amount values are important:

pay_app_payment_amounts

Amount Type Description
Open Amount Shows the amount to be moved, corresponds to the Open Amount of the entry. Negative values are payments, positive values are payouts.
Settled Amount Shows the amount of the collected payments. Negative values are payments, positive values are payouts.
Settled Amount <= Open Amount
Assigned Amount Shows the amount assigned to one or more entries (via one or more entry items) used to settle them.
Technically, this is a roll-up summary over the Amount values of all associated entry items.
Available Amount Shows the amount available for being assigned to an entry.
Technically, this is the difference between the Settled Amount and the Assigned Amount.

Entry and Payment Lifecycle gives an outline view of how these values change as payment and settlement progress.

Payment Provider Integration

JustOn Cash Management can integrate your Salesforce org with payment service providers (PSP) in order to exchange payment information – namely, to provide your buyers the option to pay their purchases (represented as entries) via the payment page.

For details, see Integrating Payment Provider.

Payment Workflow via Payment Provider

In broad strokes, payment requests are processed as follows:

pay_app_pay_process

JustOn Cash Management prepares payment
JustOn Cash Management encrypts the involved entries and publishes the payment page it to the buyer.
Buyer executes payment
The buyer selects a payment service provider or payment method and releases the payment transaction.
JustOn Cash Management creates a Payment record with the status Pending and an Entry Item record with an Expected Amount.
Payment provider captures amount
The payment service provider captures the payment amount in the buyer's bank and notifies JustOn Cash Management about the result.
JustOn Cash Management creates a Payment Item record that represents the capture result.
On success (with an Amount value set on the payment item):
  • The Payment record's status is set Collected and its settled amount is registered.
  • On the Entry Item record, the Expected Amount is deleted and an Amount value is set – which is transferred to the related Entry record as Settled Amount.
  • With the open amount completely covered, the Entry record is set Balanced.

On failure or later rejection (where the payment item has an empty Amount):

  • The Payment record's status remains or is reset Pending.
  • The Entry Item record keeps or is restored its Expected Amount.
  • The related Entry record remains or is reset Open.
Bank transfers money
The buyer's bank transfers the captured amount to the payment service provider. Subsequently, the payment service provider passes the amount to the merchant's bank.

Info

Collecting payments via PSPs and, consequently, settling the corresponding entries does not involve bank accounts.

The money transfer between the banks does not alter the payment and entry status or the settlement result.

Payment Page

JustOn Cash Management includes a payment page. It provides your buyers the option to pay their purchases (represented as entries) via integrated payment service providers.

In order to invite your buyers to pay, you publish a link to your payment page. This payment link looks like

https://payment.juston.cloud/pay/:link-id/to/:tenant

where :link-id encodes the relevant entries and :tenant represents your organization.

For details, see Configuring Payment Page.

Text Customization

Depending on your requirements, you can modify or translate the texts to be displayed on the payment page. To this end, JustOn Cash Management provides the custom Salesforce object Payment Page Configuration.

Payment page configurations hold customized texts or translations for payment page texts. Once payment page configuration records are available for a given locale, JustOn Cash Management retrieves the texts when loading the payment page.

Additional Pages

Your business may require to publish payment-relevant information that does not "fit" in the text components of the payment page. To support this, you create additional custom pages that are linked with the payment page. You can use this, for example, to attach your terms and conditions.

JustOn Cash Management implements support for custom pages using the Salesforce object CMS Page. Once CMS Page records are available for a given locale and set Active, JustOn Cash Management produces a list of links to these custom pages in the payment page footer when loading the payment page.

Clicking a link opens the page in a modal window. Closing this window returns the user to the payment page, ready to continue the payment process.

Connected Bank Account

JustOn Cash Management directly integrates Salesforce CRM with European banks. Using the secure, EBICS-compliant connection, businesses can directly retrieve and upload relevant payment information.

Prior to using the banking connection of JustOn Cash Management, your business must enter into a (usually chargeable) contract on the intended data access with your bank (see Bank Access Requirements). From a technical perspective, you subscribe to an EBICS-compliant service for exchanging payment information. Hence you may be referred to as the subscriber, with your bank as the other contract party.

How does the EBICS initialization take place?

Generally, EBICS initialization means exchanging public keys: You send your public subscriber keys to your bank, and your bank sends their public bank keys to you. Using the keys, you and your bank can then verify that any sent information – signed using the keys – is genuine.

The initialization procedure includes the following artifacts and procedure steps:

(1) EBICS access information and printed public bank keys
pay_app_init_bank1
After your organization has requested EBICS access, your bank sends a user letter to you. It includes the user data and other relevant access information for you to create the bank access.
The printed public bank keys are often published on the bank's website or are part of the user letter.
Some banks return a confirmation letter that includes the printed public bank keys only after they have verified your public subscriber keys (step 4).
(2) Electronic public subscriber keys
pay_app_init_bank2
As part of the bank access configuration, JustOn Cash Management creates your public subscriber keys and transfers them electronically to your bank.
(3) Printed public subscriber keys
pay_app_init_bank3
After adding the bank access, you are prompted to download the initialization letter, which includes your printed public subscriber keys. You send this document to your bank via postal mail or email.
(4) Public subscriber keys validation
pay_app_init_bank4
Your bank compares the public subscriber keys received electronically with the ones sent with the initialization letter.
(5) Electronic public bank keys
pay_app_init_bank6
Now you proceed to validate the public bank keys: This makes JustOn Cash Management fetch the public bank keys electronically.
(6) Public bank keys validation
pay_app_init_bank7
Then you compare the public bank keys received electronically with the printed public bank keys.
Once you confirm the keys' validity, JustOn Cash Management completes the bank access setup. This makes the involved bank accounts ready for the EBICS-based data exchange with your bank.
pay_app_init_bank8

EBICS keys are valid for one year. If the keys are used (for uploading payment orders or retrieving bank statements) within the last 30 days of their validity, JustOn Cash Management automatically renews these keys, making them available for another year. If the expiry date has passed without renewing the keys, JustOn Cash Management disables the bank access, and users must repeat the EBICS initialization.

For details, see Initializing Banking Operations. In addition, consider the banking-related specifics and conditions summarized in Banking Preconditions.

Payment Workflow via Bank Account

This is the typical lifecycle of a SEPA transaction in JustOn Cash Management:

alt text

User starts SEPA order job
JustOn Cash Management validates the input records (business entities, payment instruments, entries).
As a result of the job execution, JustOn Cash Management
  • Creates Payment records with the status Issued
  • Creates Entry Item records with an Expected Amount, which prevents entries from being processed repeatedly
  • Builds SEPA XML files (including a unique end-to-end ID) and sends them to the bank via EBICS (under the EDS class T)
Authorized user releases orders
The signature (under the EDS class E or A/B) must be given in the banking system.
As a result, the bank processes all payment requests and transfers the money.
User retrieves bank statements
When a matching bank statement item is found (according to the end-to-end ID), it is automatically associated with the corresponding payment. Consequently, JustOn Cash Management
  • Updates the amount on the Payment record (as related to entries)
  • Sets the payment status to Collected
  • Adjusts the amount on the Entry Item record, which is transferred to the related Entry record as Settled Amount

For details, see Using Direct Debit and Using Credit Transfer.

Info

Bank statement items may represent bank transfers initiated by customers. These bank statement items do not originate from SEPA orders, which is why they do not have an end-to-end ID. In this case, JustOn Cash Management relates the bank statement items (and payments created from them) with entries by data comparison – based on matching data like the customer number or statement number.

That is, JustOn Cash Management can automatically associate

  • existing payment records that originate from SEPA orders (as related to entries) with corresponding bank statement items according to an end-to-end ID, or
  • retrieved bank statement items (and corresponding new payment records) that originate from customer-initiated bank transfers with matching entries through data comparison.

For details, see Settlement Approaches.

Eligible entries for SEPA Direct Debit

To collect an entry successfully via SEPA Direct Debit, make sure that the following information is set accordingly:

Field Description
Account The associated account for the debtor
Type The type of the entry, must be Debit
Business Entity Lookup to the related business entity
Must match the business entity of the payment instrument.
Open Amount The overall open amount
For a debit, it must be a positive amount.
Statement Date The effective date of the (legally binding) original statement
Statement Payment Due Date The payment due date of the statement, that is, the agreed collection date
Requested Payment Method The requested payment method for the entry, must be SEPA
Requested Payment Instrument Optionally, allows to select a particular active payment instrument. Falls back to the first active payment instrument of the account if empty.
Requested Bank Account Your (the creditor's) bank account – the target of the collection. Falls back to the Preferred Bank Account of the business entity if empty.
Payment Reference Describes the purpose of the payment, a human-readable description for the money transfer. Will be displayed in the bank account statements.

The key date for SEPA transactions is the Statement Payment Due Date of the entry. Entries are eligible if the date is not empty and not beyond the next 14 days from today. If the date is in the past, JustOn Cash Management corrects it to TODAY + 1 for it to be accepted by the bank.

Eligible entries for SEPA Credit Transfer

For an entry to be processed successfully via SEPA Credit Transfer, make sure that the following information is set accordingly:

Field Description
Account The associated account for the creditor
Type The type of the entry, must be Credit
Business Entity Lookup to the related business entity
Must match the business entity of the payment instrument.
Credit Approval (Optional) approval status, used to build approval processes for outgoing money transfers
Must be restricted or approved. Empty values are handled like approved.
Open Amount The overall open amount
For a credit, it must be a negative amount.
Statement Date The effective date of the (legally binding) original statement
Statement Payment Due Date The payment due date of the statement, that is, the agreed payout date
Requested Payment Method The requested payment method for the entry, must be SEPA
Requested Payment Instrument Optionally, allows to select a particular active payment instrument. Falls back to the first active payment instrument of the account if empty.
Requested Bank Account Your (the debtor's) bank account – the source of the payout. Falls back to the Preferred Bank Account of the business entity if empty.
Payment Reference Describes the purpose of the payment, a human-readable description for the money transfer. Will be displayed in the bank account statements.

The field Statement Payment Due Date is used as a reference when selecting entries for credit transfer jobs. Entries are eligible if the date is not empty and not beyond the next 14 days from today, like Statement Payment Due Date <= TODAY + 14d.

Important Concepts

Important concepts related to EBICS-compliant banking operations include

Bank access
See the bank access as a configuration "bracket" around bank accounts. It holds the credentials and parameters for accessing one or more bank accounts (as agreed with your bank).
Public bank key
Your bank publishes the public bank key – a string to be used by your JustOn Cash Management instance to decode and encode the encrypted communication. You must validate it as part of the subscriber confirmation before using the bank access.
Public subscriber key
Your JustOn Cash Management instance publishes your public subscriber key. This string is to be used by your bank to decode and encode the encrypted communication. Your bank must validate it as part of the subscriber initialization.
About EBICS

The Electronic Banking Internet Communication Standard (EBICS) is a transmission protocol for sending payment information between clients and banks as well as between banks over the Internet. It uses established standards for securely transmitting encrypted data. For details, see EBICS.

All German banks that are associated with the German Banking Industry Committee (Die Deutsche Kreditwirtschaft/DK) support EBICS and therefore allow exchanging payment information using JustOn Cash Management.

JustOn Cash Management supports EBICS 2.5 and EBICS 3.0 (Rev. 3.0.2). EBICS 2.5 is used with German banks only. EBICS 3.0 has introduced standardized Business Transaction Formats (BTF), which allow for working with German and other European banks – including French, Swiss and Austrian banks.

JustOn Cash Management supports CAMT.053 messages. That is, it can retrieve banking data for completed bookings up to the day before the current date. Fetching interim transactions during the same day (CAMT.052 messages) is currently not possible.

About SEPA Direct Debit

The European Payments Council (EPC) has established the single euro payments area (SEPA) to standardize cashless euro payments across Europe. It defines, among others, SEPA Direct Debit schemes (SDD): one primarily designed for B2C businesses (SDD Core), and one exclusively for B2B businesses (SDD B2B). The two schemes set common rules for transferring money from a debtor to a creditor, but vary in details (see SEPA Direct Debit).

SEPA Direct Debit is centered around a mandate, which allows the creditor to prove their request for collecting money. The collection is initiated by the creditor, submitting the order to their bank. The order includes information like mandate ID, amount, collection date and debtor IBAN. The bank then executes the order, withdrawing the money from the debtor's account and putting it to the creditor's account.

The common rules include:

  • The mandate is signed by the debtor before the first transaction (typically 14 days before the first collection).
  • The mandate allows one-off or recurrent collections and can be revoked by the debtor at any time.
  • The due date of a collection must not be more than 14 days in the future.

Depending on the scheme (Core or B2B), various timeframes and rules apply for the debtor to object to the money transfer and to order a reverse transaction.

The SEPA Direct Debit Core scheme is mandatory for transactions with consumers (B2C) and optional for transactions with businesses (B2B). Under SDD Core, a debtor can request a refund ("no-questions-asked") within eight weeks of the collection date. In case of an unauthorized transaction – which must be proven –, a debtor can ask for a refund within 13 months of the collection date.

The SEPA Direct Debit B2B scheme is exclusively for businesses. Under SDD B2B, the debtor is not entitled to obtain a refund for an authorized transaction. The debtor's bank, however, may still return a transaction under certain circumstances within three days. To ensure that a transaction is authorized under SDD B2B, the debtor's bank must check whether there is a valid mandate before executing the collection.

About SEPA Credit Transfer

The European Payments Council (EPC) has established the single euro payments area (SEPA) to standardize cashless euro payments across Europe. It defines, among others, the SEPA Credit Transfer scheme (SCT). It defines a set of rules, practices and standards to achieve interoperability for SEPA payment instruments between participating banks and payment service providers in 36 European countries.

As opposed to SEPA Direct Debit, SEPA Credit Transfer does not require a mandate. For details, see SEPA Credit Transfer on the EPC website.

The payout is initiated by the debtor, submitting the order to their bank. The order includes information like amount, payout date and creditor IBAN. The bank then executes the order, withdrawing the money from the debtor's account and putting it to the creditor's account.

SEPA Batch Booking

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.

JustOn Cash Management allows for enabling SEPA batch bookings for a specific bank account. The following settings control the behavior:

SEPA Direct Debit Batch Booking
Controls the batch booking mode for direct debit transactions.
Value Description
off No batch booking (default)
on Forced batch booking
SEPA Credit Transfer Batch Booking
Controls the batch booking mode for credit transfer transactions.
Value Description
off No batch booking (default)
on Forced batch booking
Initial Payment Status
Optionally, controls the initial status of the produced payment.
Value Description
Issued Default value, indicates that the request has been sent to the bank, sets open amount
Collected Indicates that the money has been moved, sets both open amount and settled amount

Use Collected as the initial payment status only if your bank does not produce individual transaction records for batch bookings (which would not allow payment matching), because this will immediately balance out the related entries.