JustOn Cash Management
Your business may use JustOn Cash Management to directly integrate Salesforce CRM with German or other European banks as well as payment service providers.
Info
The integration with JustOn Cash Management as outlined below is available as of JustOn Billing & Invoice Management 2.76.
Enabling JustOn Cash Management
JustOn Cash Management
Integration Concepts
The payment functionality shipped with JustOn Cash Management is centered around entries (see Receivables/Payables Concepts). These records hold all information with respect to an amount of money owed to or requested by a business partner, based on statements that justify the corresponding request.
In JustOn Billing & Invoice Management, the produced invoices or – if set up and used – installments represent payment requests. Now integrating JustOn Billing & Invoice Management with JustOn Cash Management provides for both
- the creation of the relevant entry records upon invoice finalization or installment creation/modification, and
- the creation of the relevant balance records for a registered money flow (where the field
Origin
is set toJPAY1
).
Creating entries on invoice finalization or installment creation, creating balances for payments
Note
Integrating JustOn Billing & Invoice Management with JustOn Cash Management will change your workflows.
Payment-related balances produced for a registered money flow in JustOn Cash Management (where the field Origin
is set to JPAY1
) must not be subject to balance-based business processes like automatic assignment to invoices or balance transfer. To cover these use cases, you manually associate entries with payments in JustOn Cash Management.
Balance Creation
In JustOn Cash Management, registering a money flow for a payment record results in a modified amount value of the payment with a possible settlement to an entry. "Translating" this to JustOn Billing & Invoice Management means to create or update balance records.
In the simplest use case, there are 1:1 relations – one invoice (or installment) makes one entry, and one payment settled with this entry makes one balance record associated to the invoice.
JustOn Cash Management can, however, relate entries with payments in an n:m relationship. This allows, for example, to distribute one money transfer to multiple entries or to settle one entry with multiple money transfers.
The integration with JustOn Billing & Invoice Management provides for the creation of the relevant balances. The system takes the registered payment amount per entry and compares it to the existing payment balance (with Origin
= JPAY1
) of the original invoice – producing new payment balance records in the amount of the difference, associated to the original invoices or, in case of overpayments or payments without entry settlement, to the related account.
The following examples illustrate this behavior.
Multiple payments for one invoice
# | Step | Payment Amount | Settled Amount per Entry | Existing Balance | Produced Balances |
---|---|---|---|---|---|
1 | Finalize invoice I1 100 |
0 | I1: 0 | ||
2 | Partial payment P1 80 |
80 | 80 | I1: 0 | I1: Payment P1 -80 |
3 | Partial payment P2 20 |
20 | 100 | I1: -80 | I1: Payment P2 -20 |
Multiple payments for multiple invoices
# | Step | Payment Amount | Settled Amount per Entry | Existing Balance | Produced Balances |
---|---|---|---|---|---|
1 | Finalize invoice I1 100 |
0 | I1: 0 | ||
2 | Finalize invoice I2 100 |
0 | I2: 0 | ||
3 | Partial payment P1 180 |
180 | I1: 100 I2: 80 |
I1: 0 I2: 0 |
I1: Payment P1 -100 I2: Payment P1 -80 |
3 | Partial payment P2 20 |
20 | I1: 100 I2: 100 |
I1: -100 I2: -80 |
I2: Payment P1 -20 |
Multiple payments for an invoice with installments
# | Step | Payment Amount | Settled Amount per Entry | Existing Balance | Produced Balances |
---|---|---|---|---|---|
1 | Finalize invoice I1 100 4 installments |
0 0 0 0 |
I1: 0 | ||
2 | Partial payment P1 80 |
80 | 25 25 25 5 |
I1: 0 | I1: Payment P1 -80 |
3 | Partial payment P2 20 |
20 | 25 25 25 25 |
I1: -80 | I1: Payment P2 -20 |
Overpayment, producing a "free" balance on the account A1
# | Step | Payment Amount | Settled Amount per Entry | Existing Balance | Produced Balances |
---|---|---|---|---|---|
1 | Finalize invoice I1 100 |
0 | I1: 0 | ||
2 | Payment P1 120 |
120 | I1: 100 | I1: 0 | I1: Payment P1 -100 A1: Payment P1 -20 |
Data Mapping
Entries hold all information with respect to an amount of money owed to or requested by a business partner. The entries' data is based on invoice data or on installments data and, if applicable, on already received payments. If a payment plan is modified after the invoice finalization producing new installments, the existing entry records are deleted, and new entry records are created accordingly.
The following fields are set on entry creation:
Data Category | Entry Field | Invoice Source Field | Installment Source Field | Default Value/Notes |
---|---|---|---|---|
General | Type | Debit for positive amountCredit for negative amount |
||
Title | Invoice: custom label with invoice number Installment: custom label with title and invoice number |
|||
Payment Reference | String built as defined in the Payment Reference field of the template, see Configuring Payment Reference Text |
|||
Business Entity | Tenant |
Invoice__r.Tenant |
The business entity record in JustOn Cash Management is modified or created on entry record creation using the values given by the invoice. | |
Requests | Requested Payment Method | PaymentMethod |
Invoice__r.PaymentMethod |
|
Requested Payment Provider | RequestedPaymentProvider |
Invoice__r.RequestedPaymentProvider |
Optional lookup to JPAY1__PaymentProvider | |
Requested Payment Instrument | RequestedPaymentInstrument |
Invoice__r.RequestedPaymentInstrument |
Optional lookup to JPAY1__PaymentInstrument | |
Requested Bank Account | RequestedBankAccount |
Invoice__r.RequestedBankAccount |
Optional lookup to JPAY1__BankAccount | |
Customer Data | BP Number | DebtorNo orAccount__r.ON_DebtorNo |
Invoice__r.DebtorNo orInvoice__r.Account__r.ON_DebtorNo |
Optional |
BP Type | Debtor |
|||
Account | Account |
Invoice__r.Account |
||
Account Name | AccountName |
Invoice__r.AccountName |
||
Contact | EmailContact |
Invoice__r.EmailContact |
||
Statement Data | Statement Type | Invoice \ |
||
Statement Description | ||||
Statement No | Name |
Invoice__r.Name |
||
Invoice | Id |
Invoice |
Lookup to entry source | |
Installment | Id |
Lookup to entry source | ||
Statement Distribution URL | ContentDistributionUrl |
Invoice__r.ContentDistributionUrl |
||
Dates | Statement Date | Date |
Invoice__r.Date |
|
Statement Payment Due Date | NextPaymentDueDate |
Date |
||
Service Period Start | ServicePeriodStart |
ServicePeriodStart |
||
Service Period End | ServicePeriodEnd |
ServicePeriodEnd |
||
Amount | Status | Status |
PaymentStatus |
Open → Open Paid → Balanced |
Open Amount | NextPaymentDue |
OpenPaymentAmount |
Payment Page Link
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.
After integrating with JustOn Cash Management, JustOn Billing & Invoice Management retrieves the produced payment links using two batch processes: BatchGetEntryPaymentLinks and BatchGetInvoicePaymentLinks. They are executed on invoice finalization before generating the PDF files, which allows to add the payment links to invoice PDF documents.
To set payment page links on invoice finalization, the following conditions must be met:
- The requested payment method for the entries must be
Online Payment
. That is, the entries must have been created for invoices with the payment methodOnline Payment
. - There is an active payment provider.
- BatchGetEntryPaymentLinks
- On invoice finalization, the batch class BatchGetEntryPaymentLinks retrieves the payment page links for all related entries. If an entry is directly related to an invoice, the process writes link to the field
Payment Page URL
on the invoice. If, however, an entry is related to an installment (see Integration Concepts), the process writes the link to the fieldPayment Page URL
on the installment. Error messages are written to the fieldPayment Page URL Error
. - BatchGetInvoicePaymentLinks
-
For installment invoices, the entries are related to installments, thus the batch class BatchGetEntryPaymentLinks will not write a payment link to the invoice. So the batch class BatchGetInvoicePaymentLinks generates a combined payment link for all installments related to an invoice and writes the result to the
Payment Page URL
field on the invoice.As a result, there is always a payment link on the invoice, either for a single entry if there are no installments, or for all installments of the invoice. If there are installments, each installment will get an individual payment link in addition.
Info
Changing the installments of a finalized invoice will delete all existing related entries and create new entries based on the new installments. As a consequence, the payment page links on the invoice and installments, which relate to the deleted entries, become invalid and will therefore be deleted. In order to set valid payment links again, users must update the links using the Get Payment Links button.
Payment Processing Data
Entries can define specific information to control how subsequent payment processes are to be executed.
Integrating JustOn Billing & Invoice Management with JustOn Cash Management produces entries from finalized invoices. To enable the payment process control from the produced entries, you need the corresponding Entry fields set on entry creation. This, in turn, requires the information on the invoice and, consequently, as part of the invoice source data – to be transferred to the invoice using the ON field mechanism.
Entry Field | Invoice Source Field | Notes |
---|---|---|
Requested Bank Account | RequestedBankAccount |
Restricts the payment process to the current bank account for SEPA transactions. |
Requested Payment Instrument | RequestedPaymentInstrument |
Restricts the payment process to the current payment instrument. |
Requested Payment Method | PaymentMethod |
Indicates the expected payment method, which is not mandatory for the payer but can control downstream processes. The picklist values include SEPA , Online Payment and Bank Transfer . |
Requested Payment Provider | RequestedPaymentProvider |
Restricts the payment process to the current payment provider. |
For details, see Enabling Payment Instrument Handling and Enabling Support for Other Payment Processing Data.