action.skip

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 able to track 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_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 generates booking details for balances of the following types: Payment, Refund, Prepayment, Payout, Write-off, Clearing (if Clearing Reason is set), 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.

  1. 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.

  2. Click Manage in the row of Global Settings.

  3. Click Edit in the Default row.
  4. Select the checkbox Create Bookkeeping Data.
  5. 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.

  6. 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.

  1. 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.

  2. Click Manage in the row of Collective Accounts.

  3. Click New.
  4. 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.

  5. 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 can set the contra account number in the Booking Detail field Business Partner Account Number. In this context, the business partner represents a debtor or creditor, and hence, the contra account.

The way to set Business Partner 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 Business Partner Account Number 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 Contra Accounts

Customer-Specific Debtor Number

For customer-specific debtor numbers, you use the Account field ON_DebtorNo.

  1. Navigate to the fields list of the Account object.
  2. Create the following new field.

    API Name Data Type Description Example Values
    ON_DebtorNo Text (255)
    or
    Formula
    Specifies 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.

  1. 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.

  2. Click Manage in the row of Collective Accounts.

  3. Click Edit in the row of the relevant collective account setting.
  4. In the Business Partner Account field, specify the contra account number.
  5. 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 to split booking details on the basis of AccountNo and BpAccountNo, creating separate booking details for the account and the contra account.

Info

The option for creating separate booking details for the account and the contra account is available as of JustOn 2.64.

In order to enable the creation of separate bookkeeping data for contra accounts, the feature must be activated in the global settings.

  1. 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.

  2. Click Manage in the row of Global Settings.

  3. Click Edit in the Default row.
  4. Select the checkbox Separate Contra Account Booking Details.
  5. 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 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 can use placeholders to populate the booking texts with available information automatically. JustOn 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 Business Partner Account Number, like BpAccountNo) 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:

  1. 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.

  2. Click Manage in the row of Booking Text.

  3. Click New.
  4. 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.

  5. Click Save.

Info

Create an individual Booking Text setting record for each relevant booking detail type.

Note

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.

  1. 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.

  2. Click Manage in the row of Global Settings.

  3. Click Edit in the Default row.
  4. Select the checkbox Enable Accounting in Gross Values.
  5. Optionally, select the checkbox Accounting Gross Taxes on First Month.

    When using gross values and the Booking Month or Service 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.

  6. 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.

  1. 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.

  2. Click Manage in the row of Global Settings.

  3. Click Edit in the Default row.
  4. Select the checkbox Enable Transfer Booking Details.
  5. 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.

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 standard Provider 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.

  1. 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.

  2. Click Manage in the row of Batch Parameters.

  3. Click New.
  4. 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 the SystemModstamp information)

      Assuming you want to consider the balance modifications of the past three days, set

      Period = 3
      
  5. 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:

  1. Open the Scheduled Jobs page.

    Use the following URL https://login.salesforce.com/apex/ONB2__JobsSetup, or, if you are already logged in, append apex/ONB2__JobsSetup to your org's domain name.

    As of JustOn 2.52, you can access the Scheduled Jobs page via the JustOn configuration app ( > JustOn Configuration > Jobs Setup).

  2. From the Apex Job drop-down list, select Export Balances Job.

    The Job Name field is automatically set to BatchBalanceExportJob.

  3. From the Start Time drop-down list, select the preferred execution time.

  4. Optionally, edit the displayed cron expression to adjust the execution time.
  5. 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:

  1. 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.

  2. Click Schedule Apex on top of the list.

  3. Specify the details as required.

    • Job Name
    • Apex Class: BatchBalanceExportJob
    • Frequency
    • Start
    • End
    • Preferred Start Time
  4. 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.