Payments/Payouts Concepts
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.
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) ordisallowed
Money Flow Outgoing Money flow restriction for outgoing money (→ settling payables or return claims), can be unrestricted
,refund-only
ordisallowed
-
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.
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 valuesPayout
– 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:
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:
- 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 anExpected 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 anAmount
value is set – which is transferred to the related Entry record asSettled Amount
. - With the open amount completely covered, the Entry record is set
Balanced
.
- The Payment record's status is set
-
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
.
- The Payment record's status remains or is reset
- 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
- 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
- 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
- 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
- Your bank compares the public subscriber keys received electronically with the ones sent with the initialization letter.
- (5) Electronic public bank keys
- 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
- 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.
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:
- 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)
- Creates Payment records with the status
- 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.