Enabling Bookkeeping Data for Payment Balances
Thanks to the tight integration with JustOn Cash Management, JustOn Billing & Invoice Management receives payment information first-hand. Accordingly, it allows for writing bookkeeping data for payment balances. These records can then be transferred to accounting systems like DATEV, SAP or Microsoft Dynamics via CSV export or, for DATEV, direct transfer.
Once created, the booking details can no longer be modified or deleted.
Ideally, you generate bookkeeping data from payment balances on a daily basis. To this end, JustOn provides a dedicated scheduled job. Once generated, you can export the bookkeeping data to accordingly configured CSV files, like DATEV posting batch or SAP CSV, which can then be transferred to the corresponding accounting system.
Payment bookkeeping data concepts
Bookkeeping data as generated from payment balances can hold account numbers, which are, typically, debtor numbers and bookkeeping accounts related to bank accounts or payment provider accounts. The data is kept in sync with changes made to payment balances, like amount change or deletion. Payment bookkeeping data is unalterable with regard to balance assignment and overpayment splitting in order to keep the data clean.
Data structure
Bookkeeping data is structured in booking periods and booking details, where booking periods represent bookkeeping months, and booking details represent the records in an accounting ledger.
Technically, booking periods and booking details are in a master-detail relationship.
A booking period represents one month in bookkeeping. Hence, it aggregates the booking details produced for this month. Booking periods are grouped by business entities.
Be aware that the booking period status finally decides the booking detail allocation:
- Open: A booking period with the status
Open
aggregates the booking details produced for this month. -
Closed: A booking period with the status
Closed
is ignored. Any booking details produced for this period are moved to the next open booking period.
Booking detail allocation with closed booking periods
Note
Make sure to establish business processes to close booking periods according to your requirements.
A booking detail represents a record in an accounting ledger. JustOn creates one booking detail per payment balance change.
Booking details cannot be modified once they have been created.
The following fields are mapped from the balance to the booking detail:
Balance Field | Booking Detail Field |
---|---|
Account | Account |
Amount | Amount |
Date | Booking Date, Payment Date |
Type | Type |
Id | Balance |
Payment Provider | Payment Provider |
Bank Account Id | Bank Account Id |
Write Off Reason | Write Off Reason |
Clearing Reason | Clearing Reason |
Workflow
JustOn Billing & Invoice Management generates booking details for balances of the following types: Payment
, Refund
, Prepayment
, Payout
, Write-off
, Clearing
(if Clearing Reason
is set and not Final Invoice
), Dunning Fee
, Dunning Income
, Chargeback
. All other balance types are ignored.
Since payment balances are subject to change, like amount modification, deletion or splitting, JustOn does not track payment balances and booking details in a one-to-one relationship, but uses a payment hash instead. The following Balance fields are used to compute the hash: Account
, Date
, Payment Method
, Payment Provider
, Reference
, Transaction No
and Type
. This means, all balances where these fields have the same value are aggregated to the same booking detail.
Other changes, like assigning balances to invoices, are not relevant with respect to the booking detail creation for balances.
JustOn uses the Booking Detail field Balance
to link back to the original balance. This does not guarantee, however, its accuracy in case of a balance split or recombination. Use this field for information or navigation purposes only.
The bookkeeping data creation does not update existing payment booking details. JustOn always creates a new booking detail record to track an individual payment balance change.
JustOn tracks amount modifications to existing balances as new booking details with a new amount. That is, a change by a delta of 5,00 EUR results in a new booking detail with an amount of 5,00 EUR.
Deleted balances are written off: JustOn creates a new booking detail, reverting the amount, like Amount * (-1)
. By default, the new reverse booking detail includes only the original JustOn fields. If you need additional project-specific fields to be copied, you must use the custom setting Copy Additional Fields.
By default, JustOn generates booking details for balances that have been created or modified in the past eight days (according to the SystemModstamp
information). This is why the payment bookkeeping data job must run at least once per week – otherwise it does not detect all new, changed or deleted balances.
You can, however, overwrite the default period of past eight days using a dedicated batch parameter setting. If, for example, the job executions uses too much resources because of a large number of balances to process, you can set a shorter period to consider and, consequently, adjust the execution interval for the payment bookkeeping data job accordingly. For details, see Overwriting Default Period.
For more detailed information about payment bookkeeping data, examples, etc., see Bookkeeping Data for Payment Balances.
Enabling Bookkeeping Data Generation
In order to enable the creation of bookkeeping data, the feature must be activated in the global settings.
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Global Settings.
- Click Edit in the Default row.
- Select the checkbox
Create Bookkeeping Data
. -
Optionally, select the checkbox
Create Bookkeeping Data for Deposit
.Select this option if your accounting requires deposit invoices to be booked as soon as they are created.
-
Click Save.
Once enabled, the payment bookkeeping data is generated upon job execution.
Info
Once created, the booking details can no longer be modified or deleted.
Enabling G/L Account Number for Payment Bookkeeping Data
With booking details created from payment balances, the field G/L Account Number
specifies the bookkeeping account number of the bank account or payment provider. You use the collective accounts feature to provide the G/L account for the bookkeeping data creation.
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Collective Accounts.
- Click New.
-
Specify the information as necessary.
Field Required Description Name A unique name for the custom setting record, describes the purpose of the collective account.
JustOn recommends to use a descriptive name for the setting, because it can be part of the reference booking text. Besides this, JustOn does not evaluate the name for further processing.Account Specifies the intended booking account number as given by the accounting system. Type Specifies the type of the target booking detail, must be Payment
Business Partner Account Specifies, if necessary, the intended contra account number as given by the accounting system. If you use multiple collective accounts, specify other information to determine the best matching collective account as necessary. For details, see Collective Account Concepts.
-
Click Save.
Working With Contra Accounts for Payment Bookkeeping Data
In double-entry bookkeeping, every entry to an account requires a corresponding opposite entry to a contra account (also known as offsetting account), which is credited to offset a debit or debited to offset a credit. To support this scenario, JustOn Billing & Invoice Management can set the contra account number in the Booking Detail field Contra Booking Account
.
For payment-related bookings, the contra account is usually the relevant business partner, that is, your debtor (or creditor). The way to set the debtor account number depends on your business use cases:
- For customer-specific debtor numbers, you use the optional Account field
ON_DebtorNo
. - To support collective debtors (or debtor groups), you use the
Business Partner Account
field of the relevant collective account setting.
When creating booking details, the Account field ON_DebtorNo
takes precedence over the Collective Account field Business Partner Account
. If the Account field ON_DebtorNo
is empty or does not exist, JustOn uses the Collective Account field Business Partner Account
to set Contra Booking Account
in the booking detail.
Info
Working with contra accounts requires the G/L account allocation set up. For payment bookkeeping data, the G/L account number is specifically enabled using a dedicated Collective Account setting.
Enabling Debtor Accounts
Customer-Specific Debtor Number
For customer-specific debtor numbers, you use the Account field ON_DebtorNo
.
- Navigate to the fields list of the Account object.
-
Create the following new field.
API Name Data Type Description Example Values ON_DebtorNo Text (255)
or
FormulaSpecifies the contra account number for booking details. If configured as a formula, it can determine the value based on other fields. 1234567
AnotherField__c
Collective Debtor Number
To support collective debtors (or debtor groups), you use the Business Partner Account
field of the relevant collective account setting.
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Collective Accounts.
- Click Edit in the row of the relevant collective account setting.
- In the
Business Partner Account
field, specify the contra account number. - Click Save.
Separating Contra Account Booking Details
Some accounting systems are unable to process booking details that specify both an account number and a contra account number. To support these systems, you can set up JustOn Billing & Invoice Management to split booking details on the basis of AccountNo
and BpAccountNo
, creating separate booking details for the account and the contra account.
In order to enable the creation of separate bookkeeping data for contra accounts, the feature must be activated in the global settings.
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Global Settings.
- Click Edit in the Default row.
- Select the checkbox
Separate Contra Account Booking Details
. - Click Save.
Info
With respect to the booking detail separation, be aware of the following:
- JustOn creates separate booking details for the account and the contra account when creating new booking details only. That is, booking details that already exist are not split subsequently.
- JustOn aggregates the booking details for the contra account along invoice number, booking date and G/L account number (except if they are not linked to an invoice or if they originate from a balance).
- Booking details created for cancellations cannot be split.
- Booking details that have been specifically created for contra accounts cannot be split along centers.
- JustOn does not generate contra account booking details for unbilled revenue.
Working With Booking Texts for Payment Bookkeeping Data
Accountants may expect specific references to the operation from which produced booking details originate. To support this requirement, you can use booking texts. They define the content and pattern of this human-readable reference information, and JustOn then populates the Booking Detail field Booking Text
accordingly.
Booking text concepts
JustOn Billing & Invoice Management implements booking texts using the custom setting Booking Text. It includes the following information:
Field | Data Type | Description |
---|---|---|
Name | Text | Specifies the type of the booking detail, like Revenue , Tax or Payment . At the same time, the unique name for the custom setting record.Use one Booking Text setting record for each relevant booking detail type. |
Text | Text(255) | Specifies the booking reference text for the particular booking detail type. Can contain custom placeholders. |
JustOn Billing & Invoice Management can use placeholders to populate the booking texts with available information automatically. It provides a number of default placeholders available for booking texts. Depending on the booking detail context, the placeholder sources vary:
Booking Detail Context | Booking Detail Types | Available Placeholder Sources | Booking-Related Placeholders |
---|---|---|---|
Invoice | Revenue Tax Deferred Unbilled Revenue Contra Account |
Booking Detail Account Invoice Invoice Line Item |
[BookingAccountRule] [BookingDate] [BookingTaxCode] [BookingTaxRate] [BookingType] [BpAccountNo] |
Balance | Payment Refund Prepayment Payout Write-off Contra Account |
Booking Detail Account Balance Invoice (if applicable) |
[BalanceDate] [BalancePaymentMethod] [BalancePaymentProvider] [BalanceReference] [BalanceTransactionNo] [BalanceType] |
For a list of other available, commonly used placeholders, see Custom Placeholder Information.
Booking Text example - Payment
Assume that for payment booking detail, you want the reference text to specify
- the account allocation (requires a descriptive name for the collective account assignment rule for collected payments, like
Incomes
) and the booking month - the number of the related invoice
- the date of the payment
Use the following setting:
Field | Value |
---|---|
Name | Payment |
Text | account assignment: [BookingAccountRule] [BookingDate:MMMM yyyy], invoice no: [InvoiceNo], payment received: [BalanceDate] |
This may result in the following booking text:
account assignment: Incomes March 2019, invoice no: INV201900234, payment received: 2019-03-28
Be aware that when exporting the booking details, the booking text may be cut to meet limitations of the target accounting system.
Booking Text example - Contra Account
Assume that for contra account booking details, you want the reference text to specify
- the account allocation (requires a new custom placeholder for the Booking Detail field
Contra Booking Account
, likeBpAccountNo
) and the booking month - the number of the related invoice
Use the following setting:
Field | Value |
---|---|
Name | Contra Account |
Text | account assignment: Debtor [BpAccountNo] [BookingDate:MMMM yyyy], invoice no: [InvoiceNo] |
This may result in the following booking text:
account assignment: Debtor 411000 March 2019, invoice no: INV201900234
Be aware that when exporting the booking details, the booking text may be cut to meet limitations of the target accounting system.
To create a new booking text setting:
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Booking Text.
- Click New.
-
Specify the information as necessary.
Be aware that when exporting the booking details, the booking text may be cut to meet limitations of the target accounting system.
-
Click Save.
Info
Create an individual Booking Text setting record for each relevant booking detail type.
Info
Remember that you can create additional custom placeholders for custom fields you may have defined.
Be aware, however, that JustOn does not support formula fields on booking details (or other fields set after a booking detail has been created) as source fields for booking text placeholders.
Enabling Gross Value Bookings
Depending on the requirements of your accounting system, you can configure JustOn to use gross values when creating bookkeeping data. This may be necessary, for example, when using automatic accounts (Automatikkonten) in DATEV.
To this end, activate the corresponding global setting Enable Accounting in Gross Values
.
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Global Settings.
- Click Edit in the Default row.
- Select the checkbox
Enable Accounting in Gross Values
. -
Optionally, select the checkbox
Accounting Gross Taxes on First Month
.When using gross values and the
Booking Month
orService Month
revenue recognition rule, select this option to make JustOn aggregate the complete tax amount for all invoice line items and all resulting booking details to the first booking detail. The remaining booking details will represent net values.This option is specifically made to support DATEV automatic accounts. Make sure to select this option only if your accounting processes require and your target accounting system supports to do so.
This option is available as of JustOn 2.55.
-
Click Save.
Info
When using gross values on bookkeeping data creation, you do not need to configure a collective account setting for taxes nor a dedicated booking text for tax booking details.
Enabling Transfer Booking Details
Depending on the requirements of your accounting system, you can configure JustOn to use transfer booking details when users move payment balances from one account to another. To this end, activate the corresponding global setting Enable Transfer Booking Details
.
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Global Settings.
- Click Edit in the Default row.
- Select the checkbox
Enable Transfer Booking Details
. - Click Save.
Scheduling Payment Bookkeeping Data Generation
Creating booking details from payment balances on a regular basis requires a job that calls the appropriate batch process BatchBalanceExportJob
provided by JustOn Billing & Invoice Management.
Info
Be aware of the following specifics:
-
JustOn recommends to schedule the payment bookkeeping data job for daily execution.
By default, JustOn generates booking details for balances that have been created or modified in the past eight days (according to the
SystemModstamp
information). This is why the payment bookkeeping data job must run at least once per week, otherwise it does not detect all new, changed or deleted balances. The detection of deleted balances is improved if they are still available in the recycle bin. If you delete balances on a regular basis, you must align the operations for creating payment bookkeeping data and emptying the recycle bin.You can, however, overwrite the default period of past eight days using a dedicated batch parameter setting, see Overwriting Default Period.
-
For the payment bookkeeping data creation to work, the global setting
Create Bookkeeping Data
must be selected. - The payment bookkeeping data creation supports the custom Account field
ON_DebtorNo
. The debtor number is used as the primary bookkeeping account number for a payment booking detail, see Assigning Bookkeeping Accounts. - The payment bookkeeping data creation supports the custom Balance field
ON_ProviderFee
for calculating the payment provider fees based on your payment provider contract. If the field is not available or empty, JustOn uses the standardProvider Fee
field, see Handling Provider Fees.
Overwriting Default Period
The payment bookkeeping data creation job allows for an optional parameter that overwrites the default period to consider balance modifications. If, for example, the job executions uses too much resources because of a large number of balances to process, you can set a shorter period to consider and, consequently, adjust the execution interval for the payment bookkeeping data job accordingly.
To overwrite the default period of relevant balance modifications, you create a specific batch parameters setting for the payment bookkeeping data creation job.
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Batch Parameters.
- Click New.
-
Specify the details as required.
-
Name:
BatchBalanceExportJob
Using the original batch chain name overwrites the default settings.
-
Batch Chain:
BatchBalanceExportJob
-
Parameter 1:
Period
, an integer that specifies the required number of past days to consider balance modifications (according to theSystemModstamp
information)Assuming you want to consider the balance modifications of the past three days, set
Period = 3
-
-
Click Save.
Scheduling Export Balances Job
To schedule the payment bookkeeping data creation job, you can use either JustOn's Scheduled Jobs page or Salesforce's Schedule Apex functionality. For details, see Scheduling a Job.
Via JustOn's Scheduled Jobs page:
-
Open the Scheduled Jobs page.
Use the following URL
https://login.salesforce.com/apex/ONB2__JobsSetup
, or, if you are already logged in, appendapex/ONB2__JobsSetup
to your org's domain name.You can access the Scheduled Jobs page via the JustOn configuration app ( > JustOn Configuration > Jobs Setup).
-
From the
Apex Job
drop-down list, selectExport Balances Job
.The
Job Name
field is automatically set toBatchBalanceExportJob
. -
From the
Start Time
drop-down list, select the preferred execution time. - Optionally, edit the displayed cron expression to adjust the execution time.
-
Click Schedule.
This sets up the payment bookkeeping data creation to be executed at the specified time.
Info
From the Scheduled Jobs page, you can also run the job immediately.
Via Salesforce's 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
- Apex Class:
BatchBalanceExportJob
- Frequency
- Start
- End
- Preferred Start Time
-
Click Save.
This sets up the payment bookkeeping data creation to be executed at the specified time.
For more details about job scheduling, see Scheduling a Job in the JustOn documentation and Schedule Apex in the Salesforce Help.