action.skip

Bookkeeping Data for Payment Balances

← Bookkeeping Overview

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.

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.

Enabling Bookkeeping Data for Payment Balances
Scheduling Payment Bookkeeping Data Generation
Best Practice: Generating Bookkeeping Data

Payment Bookkeeping 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.

Booking Period

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.

Booking Details

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

Booking Text

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.

Implementation details

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.

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.

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.

Info

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.

Note

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.

BatchBalanceExportJob parameters example
Field Value Description
Name BatchBalanceExportJob Must match the Job Name to be set when scheduling the job
Using the original batch chain name overwrites the default settings
Batch Chain BatchBalanceExportJob The name of the batch chain to be executed
Parameter 1 Period = 3 Sets the period to the past 3 days

Assigning Bookkeeping Accounts

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. To have the field set, you use a dedicated collective account setting.

The field Contra Booking Account specifies the debtor number of the related account. The way to set the debtor 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.

For details, see Enabling G/L Account Number for Payment Bookkeeping Data and Enabling Debtor Accounts.

Handling Provider Fees

Provider fees are tracked on the balance using the field Provider Fee. Some payment provider integrations via the (legacy) JustOn Self-Service Extension may also define the custom formula field ON_ProviderFee for calculating the provider fees. If the field is not available or empty, JustOn uses the standard Provider Fee field.

If JustOn detects a provider fee when generating the bookkeeping data, it will create an individual booking detail of the type Provider Fee. You can move these booking details to separate bookkeeping accounts using the collective accounts feature.

Handling Business Entities

If a balance is associated with an invoice, JustOn takes the business entity of the invoice to determine the correct booking period. If a balance is unassigned, the business entity is determined from the customer account using a business entity mapping.

Correction booking details, like for an amount modification or a deletion, always use the business entity of the original booking detail.

Handling Balance Transfer

Users can manually transfer balances that represent payment transactions (Payment, Refund, Prepayment, Payout, Chargeback and Chargeback Fee) from one account to another. If the creation of bookkeeping data is enabled and at least one booking detail exists for the moved balance, JustOn will update the bookkeeping data accordingly.

  • By default, it creates two new payment booking details: one for the new debtor booking account and a "reverse" one for the old debtor booking account (using the bank booking account as a "relay" account).
  • If required by your accounting system, JustOn can bypass this two-step move using a booking detail of the type Transfer. Doing so directly transfers the balance amount from the old debtor to the new debtor without involving the bank. To this end, you enable the global setting Enable Transfer Booking Details.

Payment Booking Details Examples

The following examples show how JustOn writes booking details for payment balances and tracks further changes on involved balances.

Receiving PayPal payment with provider fee

Assume the following actions:

  • Customer pays via the payment page with PayPal
  • Payment balance is created and assigned to the account and invoice
  • Invoice is set Paid
  • Booking detail is created from payment balance

This produces two booking details with the following information:

Field Example Value Description
Name 2019-01-15-12345 Concatenation of payment date and debtor number (with fallback to the account name).
Amount -100 Taken from the Balance field Amount.
Payment Date 2019-01-15 The date of the payment transaction.
Booking Date 2019-01-15 The booking date may be different from the payment date if the target booking period is closed and the booking detail has been moved.
Payment Hash abc123 Calculated by JustOn in order to track changes on involved balances.
Type Payment Taken from the Balance field Type.
Balance - Links to the associated balance.
Account No 12345 The G/L account, taken from the Account field ON_DebtorNo, can be set by collective account rules if it is empty or not available.
Business Partner Account No 67890 The contra account, set by collective account rules.
Field Example Value Description
Name 2019-01-15-76543 Concatenation of payment date and G/L account number (with fallback to the account name).
Amount 2,75 Taken from the Balance fields ON_ProviderFee or Provider Fee.
Payment Date 2019-01-15 The date of the payment transaction.
Booking Date 2019-01-15 The booking date may be different from the payment date if the target booking period is closed and the booking detail has been moved.
Payment Hash xyz987 Calculated by JustOn in order to track changes on involved balances.
Type Provider Fee Set by JustOn.
Balance - Links to the associated balance.
Account No 34567 Set by collective account rules.
Business Partner Account No 98765 Set by collective account rules.
Importing payment entries with manual assignment

Assume the following actions:

  • Import payment entries from CSV file, match to account
  • Manually assign balance to the next open invoice

The bookkeeping data can be generated before or after the invoice assignment. The result is the same.

Field Example Value Description
Name 2019-01-15-12345 Concatenation of payment date and debtor number (with fallback to the account name).
Amount -75 Taken from the Balance field Amount.
Payment Date 2019-01-15 The date of the payment transaction.
Booking Date 2019-01-15 The booking date may be different from the payment date if the target booking period is closed and the booking detail has been moved.
Payment Hash def567 Calculated by JustOn in order to track changes on involved balances.
Type Payment Taken from the Balance field Type.
Balance - Links to the associated balance.
Account No 12345 The G/L account, taken from the Account field ON_DebtorNo, can be set by collective account rules if it is empty or not available.
Business Partner Account No 67890 The contra account, set by collective account rules.
Manual balance with amount change, debtor number not available

Assume the following actions:

  • Register partial payment on invoice
  • Generate bookkeeping data
  • Change amount of partial payment
  • Generate bookkeeping data

The first booking detail creation:

Field Example Value Description
Name 2019-01-15-Foo Inc. Concatenation of payment date and fallback to the account name (no debtor number available).
Amount -35 Taken from the Balance field Amount.
Payment Date 2019-01-15 The date of the payment transaction.
Booking Date 2019-01-15 The booking date may be different from the payment date if the target booking period is closed and the booking detail has been moved.
Payment Hash asd84578 Calculated by JustOn in order to track changes on involved balances.
Type Payment Taken from the Balance field Type.
Balance - Links to the associated balance.
Account No 1111 Set by collective account rules.
Business Partner Account No 2222 Set by collective account rules.

From the second bookkeeping data creation results a booking detail that covers the amount change:

Field Example Value Description
Name 2019-01-15-Foo Inc. Concatenation of payment date and fallback to the account name (no debtor number available).
Amount 5 Calculated as follows: new amount minus original amount (like -30 - (-35) = 5).
Payment Date 2019-01-15 The date of the payment transaction.
Booking Date 2019-02-01 Moved to the next booking period, since the original booking period has been closed.
Payment Hash asd84578 The same hash as for the original booking detail.
Type Payment Taken from the Balance field Type.
Balance - Links to the associated balance.
Account No 1111 Set by collective account rules.
Business Partner Account No 2222 Set by collective account rules.
Manual balance with deletion

Assume the following actions:

  • Register partial payment on invoice
  • Generate bookkeeping data
  • Delete partial payment
  • Generate bookkeeping data

The first booking detail creation:

Field Example Value Description
Name 2019-01-15-Foo Inc. Concatenation of payment date and fallback to the account name (no debtor number available).
Amount -35 Taken from the Balance field Amount.
Payment Date 2019-01-15 The date of the payment transaction.
Booking Date 2019-01-15 The booking date may be different from the payment date if the target booking period is closed and the booking detail has been moved.
Payment Hash klm654 Calculated by JustOn in order to track changes on involved balances.
Type Payment Taken from the Balance field Type.
Balance - Links to the associated balance.
Account No 1111 Set by collective account rules.
Business Partner Account No 2222 Set by collective account rules.

From the second bookkeeping data creation results a booking detail that covers the balance deletion:

Field Example Value Description
Name 2019-01-15-Foo Inc. Concatenation of payment date and fallback to the account name (no debtor number available).
Amount 35 Calculated as follows: original amount multiplied by -1 (like -35 * (-1) = 35).
Payment Date 2019-01-15 The date of the payment transaction.
Booking Date 2019-02-01 Moved to the next booking period, since the original booking period has been closed.
Payment Hash klm654 The same hash as for the original booking detail.
Type Payment Taken from the Balance field Type.
Balance - Links to the associated balance.
Account No 2222 The original Contra Booking Account.
Business Partner Account No 1111 The original G/L account number.
Payment balance transfer
  • Debtor no for account A: 123
  • Debtor no for account B: 456
  • Account no for the bank: 4711

JustOn creates the following booking detail after a balance with an amount of -1000 has been initially created for account A:

Type Account Amount BP Account No G/L Account
Payment A -1000 123 4711

After manually transferring the balance to account B, the resulting booking details will be:

Type Account Amount BP Account No G/L Account
Payment A +1000 123 4711
Payment B -1000 456 4711

4711 is used as an intermediary account.

Now you enable the global setting Enable Transfer Booking Details: Using a transfer booking detail will directly transfer the balance amount from 123 to 456 without relaying it via 4711:

Type Account Amount BP Account No G/L Account
Transfer B -1000 456 123