action.skip

Enabling Bookkeeping Data for Finalized Invoices

← Bookkeeping Data Creation

JustOn Billing & Invoice Management allows for writing bookkeeping data for revenues and taxes from finalized invoices. 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.

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. It does, however, not necessarily refer to an individual invoice line item: usually, multiple invoice line items are combined if certain conditions match (see Combining Booking Details), or a single invoice line item may produce multiple booking details when applying revenue recognition rules.

Booking details cannot be modified once they have been created.

Each booking detail is assigned to a booking period, where the specified booking date determines the target period.

JustOn Billing & Invoice Management combines booking details that are assigned to the same booking period if the following data match:

In other words, this means that JustOn writes a separate booking detail if one of the relevant values differs.

The field InvoiceLineItems of the booking detail contains a comma separated list of the invoice line items that have been used to build this booking detail.

For more details, see Invoice Bookkeeping Data Structure.

Bookkeeping data for cancellation invoices

If the bookkeeping data generation is enabled, JustOn creates booking details as follows when finalizing a cancellation invoice:

  • For each existing booking detail of the canceled invoice, JustOn creates a new, "opposite" booking detail – based on the original booking details and not on the produced cancellation invoice –, producing reverse and reversed booking details marked as Reversal (see Bookkeeping Data Reversal). This also applies to split booking details as a result from revenue recognition – for example, 12 booking details created for deferred revenue will produce 12 "opposite" booking details on cancellation.

    Combination rules, however, apply.

    booking_deferred_cancel
    Booking deferred revenue and a corresponding cancellation

    Be aware that by default, the new opposite 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.

  • For each existing booking detail of the canceled invoice, JustOn sets the booking date to the date of the cancellation invoice if

    • the booking period is Open,
    • the booking detail is not exported,
    • the booking date is after the date of the cancellation invoice.

    If the booking period for the date of the cancellation invoice (or a later booking period) is Closed, JustOn moves the affected booking details to the first day of the next open booking period.

    Booking details that already have been exported or transferred to DATEV remain unaltered.

  • For the new, "opposite" booking details of the cancellation invoice, JustOn copies the adjusted booking dates of the booking details of the canceled invoice. That is:

    • It usually sets the booking date to the date of the cancellation invoice, too.
    • In case a booking period is Closed, JustOn also moves the affected "opposite" booking details to the first day of the next open booking period.
    • For the "opposite" booking detail of an exported booking detail, JustOn sets the date of the original booking detail (which remains unaltered).
  • For booking details of the type Revenue, JustOn appends the related account number to the name of the new booking detail.

  • For the amount of the new booking detail, JustOn sets the inverted amount of the existing booking detail.
  • For the booking text of the new booking detail, JustOn prepends Cancellation: to the original booking text.

    This text is a custom label. If you need a locale-specific variant, provide a corresponding translation as described in Managing Custom Labels.

Revenue recognition rules

JustOn Billing & Invoice Management ships a number of revenue recognition rules. They control the way invoices and invoice line items are transformed into booking details.

The software determines the revenue recognition rule to be applied via the invoice line item field Recognition Rule. If the field is not set, it uses the Default rule.

You can use the ON field mechanism, Salesforce flows or other automation tools to have the revenue recognition rule specified automatically on the invoice line item when generating invoices.

When upgrading JustOn Billing & Invoice Management from previous versions, you may have to manually add the values for new revenue recognition rules to the Recognition Rule picklist of the Invoice Line Item object. For details, see Modifying Picklist Values.

The following revenue recognition rules are available:

Recognition Rule Description
Default Creates one revenue booking detail per invoice line item. The booking date is taken from the field ON_BookingDate of the invoice, if configured accordingly. The invoice date is used as fallback.
Booking Month Creates multiple revenue booking details that are evenly distributed to booking periods (calendar months) over the service period of the invoice line item (with the invoice service period as fallback).
If the service period does not start at the beginning (or end at the end) of a month, the booking amount is calculated proportionally – based on the number of relevant days – for this month (see examples in Revenue Deferral to Multiple Booking Periods).
If the service period starts and ends after the invoice date but still in the same month, JustOn also produces deferred revenue booking details (see example in Revenue Deferral Within One Month).
If the booking amount does not divide evenly and requires the split amounts to be rounded down, the remainder is added to the first booking detail. For example, 49,99 split into four parts results in 12,52 + 12,49 + 12,49 + 12,49.
The Booking Month revenue recognition rule produces Deferred booking details to handle deferred revenue.
Service Month Creates multiple revenue booking details that are evenly distributed over the service period of the invoice line item (with the invoice service period as fallback), where the service period months start with the start date of the service period, like Nov 09 - Dec 08, Dec 09 - Jan 08, etc.
If the booking amount does not divide evenly and requires the split amounts to be rounded down, the remainder is added to the first booking detail. For example, 49,99 split into four parts results in 12,52 + 12,49 + 12,49 + 12,49.
Unless used in combination with the Sync With Revenue tax recognition rule, the Service Month revenue recognition rule produces Deferred booking details to handle deferred revenue.
To produce Deferred booking details with the Service Month revenue recognition rule, the invoice line item requires a billing factor > 1 or the billing unit set to Year.
Calendar Year Allocates revenue bookings to the calendar year of the service date or service period of the invoice line item (with the invoice service period as fallback).
If the service period spans two calendar years, like 2020-10-012021-09-30, the booking amount is distributed proportionally to the first and the second year. The remaining booking amount is moved to a new booking detail with the booking date set to the first day of the next year.
The service period may only include one turn of the year, like 2020-03-012021-12-31. That is, it must not exceed beyond the end of the second involved year.
For any revenue booking moved to a future year, the Calendar Year revenue recognition rule produces a Deferred booking detail to handle deferred revenue.
If the specified booking date is in the year after the service period start, the revenue recognition rule falls back to Default.
Service Period Creates one booking detail per invoice line item, where the booking date is taken from the service period start of the invoice line item.
If the invoice specifies a custom booking date that is before the service period start date, JustOn creates additional Deferred booking details: one with the booking date taken from the booking date of the invoice (or the invoice date as fallback), and one with the booking date taken from the service period start of the invoice line item.
Shortfall Creates two booking details if a defined minimum price exceeds the actually incurred costs: one for actually incurred costs, and another one for the shortfall amount, that is, the difference between the actually incurred costs and the defined minimum price.
Margin Scheme Creates three booking details per invoice line item if margin schemes apply: one for the defined margin, one for the position total minus the margin, and one for the tax on the margin. The tax rate for the margin is stored in the field Margin Tax Rate, while the field Tax Rate is set to 0.
Permanent Month Creates Revenue booking details for each month of a service month-based payment plan, using the installment calculation algorithm to distribute the amount over the service period of the invoice line item.
If the service period does not start at the beginning (or end at the end) of a month, the Permanent Month revenue recognition rule proportionally calculates the booking amount – based on the number of relevant days –- for the relevant month, and considers the remainder as deferred revenue, producing a corresponding Deferred booking detail.
Intended to be used in combination with installments where Period is set to Service Month.
Since the Permanent Month revenue recognition rule creates Tax booking details for each period, the tax recognition rule Sync With Revenue must not be used.
Permanent Quarter Creates Revenue booking details for the first month of each quarter of a service quarter-based payment plan and Deferred booking details for the remaining two months of the quarter, using the installment calculation algorithm to distribute the amount over the service period of the invoice line item.
If the service period does not start at the beginning (or end at the end) of a month, the Permanent Quarter revenue recognition rule proportionally calculates the booking amount – based on the number of relevant days –- for the relevant month, and considers the remainder as deferred revenue, producing a corresponding Deferred booking detail.
Intended to be used in combination with installments where Period is set to Service Quarter.
Since the Permanent Quarter revenue recognition rule creates Tax booking details for each period, the tax recognition rule Sync With Revenue must not be used.

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 bookkeeping data is generated automatically upon invoice finalization.

Info

Once created, the booking details can no longer be modified or deleted. In case of errors, however, you can regenerate booking details for invoices.

Working With Contra Accounts for Invoice 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 revenue-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 optional Invoice field DebtorNo.

    Using a collective debtor number via the Invoice field DebtorNo does not require a collective account setting. Instead, you just set the intended booking account number to be transferred to the booking detail.

When creating booking details, the Invoice field DebtorNo takes precedence over the Account field ON_DebtorNo. If the Invoice field DebtorNo is empty or does not exist, JustOn uses the Account field ON_DebtorNo to set Contra Booking Account in the booking detail.

Info

Working with contra accounts requires the G/L account allocation set up. For invoice bookkeeping data, the G/L account value is taken from the GL Account field of the invoice line item as assigned using Assignment Rules - G/L Account.

Enabling Debtor 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 Invoice field DebtorNo.

Using a collective debtor number via the Invoice field DebtorNo does not require a collective account setting. Instead, you just set the intended booking account number to be transferred to the booking detail.

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

    API Name Data Type Description Example Values
    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

Info

If the field is configured as a text, you can use the ON field mechanism to have it set using values from invoice source objects.

Be aware, however, that if the field is configured as a formula, the ON field mechanism will not overwrite the DebtorNo value.

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.

  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 Invoice 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 - Revenue

Assume that for revenue booking details, you want the reference text to specify

  • the account allocation (requires a descriptive name for the G/L account assignment rule for revenues, like Sales Revenues) and the booking month
  • the name of your customer
  • the invoice number
  • the originating subscription (requires a dedicated custom invoice field that refers to the subscription name, like Subscription Name, and a corresponding custom placeholder, like [SubscriptionName])
  • the invoice date
  • the booking date

Use the following setting:

Field Value
Name Revenue
Text account assignment: [BookingAccountRule] [BookingDate:MMMM yyyy], customer: [AccountName], invoice: [InvoiceNo], subscription: [SubscriptionName], invoiced on: [InvoiceDate], booked on: [BookingDate]

This may result in the following booking text:

account assignment: Sales Revenues March 2019, customer: ACME, invoice: INV201900234, subscription: ACME-S00056, invoiced on: 2019-03-24, booked on: 2019-03-24

Be aware that when exporting the booking details, the booking text may be cut to meet limitations of the target accounting system. DATEV, for example, allows only 30 characters (incl. whitespaces).

Booking Text example - Tax

Assume that for tax booking details, you want the reference text to specify

  • the account allocation (requires a descriptive name for the G/L account assignment rule for taxes, like Sales Taxes) and the booking month
  • the tax rate
  • the tax type
  • the invoice region (requires the invoice field Region set, and a corresponding custom placeholder, like [InvoiceRegion])
  • the booking date

Use the following setting:

Field Value
Name Tax
Text account assignment: [BookingAccountRule] [BookingDate:MMMM yyyy], tax rate: [TaxRate], tax type: [TaxType], region: [InvoiceRegion], booked on: [BookingDate]

This may result in the following booking text:

account assignment: Sales Taxes March 2019, tax rate: 19%, tax type: VAT, region: EU, booked on: 2019-03-24

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

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 Center Split

Your business may require to distribute the amount of one or more booking details of the type Revenue over multiple centers. To cover this need, JustOn Billing & Invoice Management provides the functionality to split these booking details – either manually or automatically.

Be aware that booking details that have been specifically created for contra accounts cannot be split along centers.

Enabling Automatic Center Split

The invoice field Predefined Center Split controls the automatic center split. If set, JustOn automatically applies the split configuration when finalizing invoices that produce booking details of the type Revenue. You can use the ON field mechanism, Salesforce flows or other automation tools to have the Predefined Center Split field set automatically when generating invoices.

Note

JustOn does not apply the automatic center split for bookkeeping data produced from subscriptions.

The value of the Predefined Center Split field is a JSON expression that represents a list of (different) center configurations. Each center configuration is a map that includes the following keys:

JSON Key Required Description
"type" Defines the split calculation type. Allowed values are "PERCENTAGE" or "AMOUNT".
If set to "PERCENTAGE", the numeric values in the "split" configuration are considered percentage rates to be applied, and the amount will be calculated.
If set to "AMOUNT", the numeric values in the "split" configuration are considered absolute amounts, and the percentage rates will be calculated.
"mode" Optionally, sets the operation mode. Allowed values are "STRICT" (default) or "RELAXED". This setting determines how JustOn tolerates errors when validating the split calculation (see below).
"STRICT" prevents the finalization of an invoice with a wrong split configuration.
"RELAXED" will continue the finalization with a wrong split configuration, but not apply the center split to the created booking details. It produces an error message in the JSON key "validationError".
"split" Defines the actual split configuration as a JSON map, like
{ "Center" : Number }
Each name represents a center to which the split booking detail is to be allocated. The number value is either a percentage rate or an absolute amount as defined in the "type" key.
The number value must be positive.
"accountNo" Optionally, splits a booking detail that is assigned a specific G/L account. If neither this nor costCenter are set (default), the split is applied globally to all revenue booking details.
"costCenter" Optionally, splits a booking detail that is assigned a specific center. If neither this nor accountNo are set (default), the split is applied globally to all revenue booking details.

If there is no matching split configuration for a given booking detail, JustOn will not apply a split.

Info

The following validation is applied to a split:

  • The percentage value is defined as follows: range 0..100.
  • The sum of the absolute amounts equals the original amount.
  • The configuration contains the keys "type" and "split"
  • The keys "accountNo" and "costCenter" are mutually exclusive – only one can be set.

Info

If both a configuration including an "accountNo" key and one including a "costCenter" key apply to a booking detail, the "costCenter" configuration will take precedence.

The following example illustrates the behavior. It includes three split configurations:

  • The first configuration is valid for all revenue booking details of the invoice.
  • The second configuration overrides the first configuration if the booking detail account number is 4711.
  • The third configuration overrides the first configuration if the booking detail center is JK0815. It also overrides the second configuration even if the booking detail account number is also 4711.
[
  {
    "mode": "STRICT",
    "type": "PERCENTAGE",
    "split": {
      "center-1": 60,
      "center-2": 40
    }
  },
  {
    "mode": "RELAXED",
    "type": "PERCENTAGE",
    "accountNo": "4711",
    "split": {
      "center-1": 70,
      "center-2": 20,
      "center-3": 10
    }
  },
  {
    "mode": "RELAXED",
    "type": "AMOUNT",
    "costCenter": "JK0815",
    "split": {
      "center-1": 1275,
      "center-2": 365,
      "center-3": 120
    }
  }
]

Enabling Manual Center Split

To enable the manual split functionality, add the Edit Center Split button to the Booking Details related list on the booking period or the invoice. To do so:

  1. Navigate to the object management settings of the Booking Period or Invoice object.
  2. Click Page Layouts.
  3. Click Edit in the row of the Booking Period Layout or Invoice Layout, respectively.
  4. Scroll to the Booking Details list in the Related Lists section, and click to open the list properties.
  5. Open the Buttons section.
  6. Under Custom Buttons, move Edit Center Split to the Selected Buttons column.

    rel_list_prop
    Adding a custom button to a related list

  7. Click OK to save the list properties.

  8. Click Save to save the modified page layout.

    For help about modifying layouts, see Managing Pages.

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.

DATEV automatic accounts and revenue deferral

To support automatic accounts (Automatikkonten) in DATEV, you can configure JustOn to use gross values when creating bookkeeping data. To this end, you enable the global setting Enable Accounting in Gross Values as described in Enabling Gross Value Bookings.

If, in addition, you use revenue recognition rules to distribute revenues to future booking periods (deferred revenue), you must, in addition,

  • enable the global setting Accounting Gross Taxes on First Month,
  • enable the automatic tax calculation for the gross booking details – using the custom booking code field BuCode with the relevant booking details (see Additional Fields),
  • optionally, create the BuCode field as a formula that returns the required value according to your use cases, like, for example, IF(ONB2__IsGross__c, 101, null)

Enabling Additional Information on Booking Details

JustOn Billing & Invoice Management can copy additional fields from the invoice or an invoice line item to the booking details. All additional custom fields on the booking detail – with the same API name and data type as the source fields on the invoice or the invoice line item – invoke a copy operation on booking detail creation. Specific field prefixes (like for the ON field mechanism) are not required. JustOn first tries to copy data from the invoice, then from the invoice line item.

Booking Detail Field Invoice Field Invoice Line Item Field Result
Billing Country Billing Country n/a copy from invoice to booking detail
Discount n/a Discount copy from invoice line item to booking detail
Duplicate Duplicate Duplicate copy from invoice line item to booking detail
Explicitly set booking detail fields → excluded from copy operation

JustOn Billing & Invoice Management sets the following fields explicitly when creating booking details according to the applied business logic. This is why they will not be copied as additional custom fields:

Booking Detail Target Field Source Object and Field
Account Invoice.Account
AccountName Invoice.AccountName
AccountNo InvoiceLineItem.GLAccount
CollectiveAccount.Account
AccountRule AssignmentRulesGLAccount.Name
CollectiveAccount.Name
Amount InvoiceLineItem.PosTotalNet
InvoiceLineItem.PosTotalTax
BIC Invoice.BankCode
Balance Balance.Name
BankAccountOwner Invoice.BankAccountOwner
BillingCity Invoice.BillingCity
BillingPractice Item.BillingPractice
BookingDate Invoice.Date
Invoice.ON_BookingDate
BookingPeriod dynamically set on creation
BpAccountNo Invoice.DebtorNo
Account.ON_DebtorNo
CollectiveAccount.Account2
CollectiveAccount.BpAccount
Center InvoiceLineItem.Center
CostObject InvoiceLineItem.CostObject
CurrencyIsoCode Invoice.CurrencyIsoCode
CustomerCity
CustomerName
Exported dynamically set on creation
IBAN Invoice.BankAccount
InvoiceNo Invoice.Name
Invoice Invoice.Id
Name dynamically set on creation
PaymentDate Balance.Date
Region Invoice.Region
Subscription Subscription.Name
TaxCode InvoiceLineItem.TaxCode
TaxRate InvoiceLineItem.TaxRate
Type dynamically set on creation
VATId Account.ON_VATNumber
Account.TaxNumber

To enable this functionality, add the intended fields to the Booking Detail object.

  1. On the Booking Detail object, create new custom fields with the same API name and data type as the source fields on the invoice or the invoice line item.

    This copies the corresponding field values to the booking detail.

    For help about creating fields, see Managing Object Fields.

Enabling Payment Date-Based Tax Bookings

In order to enable the payment date-based creation of tax booking details, 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 Move Tax Booking Details to Payment Date.
  5. Click Save.

Enabling Booking Detail Regeneration

Certain business use cases may require to regenerate booking details, for example, when the configuration was incorrect (G/L account, cost center/profit center, recognition rule, etc.), or when the bookkeeping data generation was not enabled on invoice finalization. JustOn Billing & Invoice Management allows to use the Invoice Import and Fix feature to recreate booking details if they have not been exported.

To enable this functionality, add the custom field FixBookingData to the Invoice object:

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

    API Name Data Type Description
    FixBookingData Checkbox Select the checkbox to enable the booking detail regeneration.

    For help about creating fields, see Managing Object Fields.

Calling the invoice fixing process regenerates the booking details of all invoices where the checkbox FixBookingData is selected. The checkbox is unselected after processing the invoice.

Note

If one of the existing booking details of an invoice is already exported, JustOn Billing & Invoice Management will skip the invoice completely and will not regenerate any booking details for this invoice.

Info

Be aware of the following specifics:

When regenerating the booking details for a cancellation invoice, JustOn Billing & Invoice Management processes the information of the related canceled invoice – the same way as described in Bookkeeping Data for Cancellation Invoices.

Make sure that the related canceled invoice is correct before starting the fix invoice process for the cancellation invoice.

JustOn Billing & Invoice Management will not regenerate booking details produced from sub invoices (partial invoices and progress invoices) and their related final invoices.

To fix such booking details, users must cancel the existing invoices and create new ones.

Enabling Debtor No for Deferred Revenue

By default, JustOn Billing & Invoice Management fills the field Contra Booking Account in booking details for deferred revenue using the value of the Business Partner Account field of the corresponding Collective Accounts custom setting record. Your business use case, however, may require to use the value of the custom field ON_DebtorNo on the account instead. To support this scenario, activate the corresponding global setting Use Debtor No for Deferred Revenue.

  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 Use Debtor No for Deferred Revenue.
  5. Click Save.

Creating Flow for Moving Booking Details

Some business use cases may require to shift future booking details to the current month, for example, when an invoice is written off.

To this end, you can configure a flow that calls the Apex class Move booking details provided by JustOn Billing & Invoice Management. When your defined criteria are met, the flow moves the booking details of a given invoice to the current booking period – setting the booking date to the current date.

The source object for the flow can be either Invoice or another object that has an Invoice field to hold the ID of the relevant invoice.

Note

Depending on your use cases, the flow setup and the objects to involve will vary.

  1. Click to enter Setup, then navigate to Process Automation > Flows.
  2. Click New Flow.
  3. Select Record-Triggered Flow and click Create.
  4. Configure the Start element.

    Option Description
    Object The object whose record modifications are to trigger the booking detail reallocation
    Trigger The type of record change that triggers the flow, like A record is created or updated
    Conditions The use case-specific trigger conditions, one or more filter criteria for evaluating certain field values or a formula for evaluating records
    Optimize for Actions and Related Records
  5. Click and add the following Action element.

    Option Description
    Action The Apex class to call, must be Move booking details
    Input Values Invocable variables for the Apex class
    Invoice Id: specifies the reference to the ID field of the relevant invoice

    Specify a label and an API name as required.

  6. Click Save.

    Specify a label and an API name as required.

  7. Click Activate.

    When the defined conditions are met, JustOn triggers the flow. It moves the booking details of the relevant invoice to the current booking period, setting the booking date to the current date.

    For help about creating flows, see Flows in the Salesforce Help.

Example use case: Write off invoice

You want JustOn to move the booking details of an invoice that is written off completely. So the relevant object is Balance, and the conditions to consider include the balance type (Write-off) and the amount compared to the invoice total.

To trigger the flow when the balance is created accordingly, specify:

Flow Element Option Value
Start Object Balance
Trigger A record is created
Conditions Formula Evaluates to True
Formula AND(TEXT({!$Record.ONB2__Type__c})=='Write-off',ABS({!$Record.ONB2__Amount__c})=={!$Record.ONB2__Invoice__r.ONB2__Balance__c})
Action Action Move booking details
Input Values Invoice Id: {!$Record.ONB2__Invoice__r.Id}

This triggers JustOn to execute the flow when the balance type equals Write-off and the write-off amount equals the invoice balance: It moves all invoice booking details to the current month.